1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 24# Copyright 2016 Joyent, Inc. 25# Copyright (c) 2012 by Delphix. All rights reserved. 26# Copyright (c) 2013 DEY Storage Systems, Inc. All rights reserved. 27# Copyright 2014 Garrett D'Amore <garrett@damore.org> 28# Copyright 2016 Toomas Soome <tsoome@me.com> 29# Copyright 2016 Nexenta Systems, Inc. 30# 31 32include ../Makefile.master 33 34# 35# Note that the commands 'lp', and 'perl' are first in 36# the list, violating alphabetical order. This is because they are very 37# long-running and should be given the most wall-clock time for a 38# parallel build. 39# 40# Commands in the FIRST_SUBDIRS list are built before starting the build 41# of other commands. Currently this includes only 'isaexec' and 42# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 43# $(ROOT)/usr/lib/platexec must exist when some other commands are built 44# because their 'make install' creates a hard link to one of them. 45# 46# Commands are listed one per line so that TeamWare can auto-merge most 47# changes. 48# 49 50FIRST_SUBDIRS= \ 51 isaexec \ 52 platexec 53 54COMMON_SUBDIRS= \ 55 allocate \ 56 availdevs \ 57 lp \ 58 perl \ 59 Adm \ 60 abi \ 61 adbgen \ 62 acct \ 63 acctadm \ 64 arch \ 65 asa \ 66 ast \ 67 audio \ 68 auths \ 69 autopush \ 70 avs \ 71 awk \ 72 awk_xpg4 \ 73 backup \ 74 banner \ 75 bart \ 76 basename \ 77 bc \ 78 bdiff \ 79 beadm \ 80 bnu \ 81 boot \ 82 busstat \ 83 cal \ 84 captoinfo \ 85 cat \ 86 cdrw \ 87 cfgadm \ 88 checkeq \ 89 checknr \ 90 chgrp \ 91 chmod \ 92 chown \ 93 chroot \ 94 clear \ 95 clinfo \ 96 cmd-crypto \ 97 cmd-inet \ 98 col \ 99 compress \ 100 consadm \ 101 coreadm \ 102 cpio \ 103 cpc \ 104 cron \ 105 crypt \ 106 csh \ 107 csplit \ 108 ctrun \ 109 ctstat \ 110 ctwatch \ 111 datadm \ 112 date \ 113 dc \ 114 dd \ 115 deroff \ 116 devfsadm \ 117 syseventd \ 118 devctl \ 119 devinfo \ 120 devmgmt \ 121 devprop \ 122 dfs.cmds \ 123 diff \ 124 diff3 \ 125 diffmk \ 126 dircmp \ 127 dirname \ 128 dis \ 129 diskinfo \ 130 diskmgtd \ 131 dispadmin \ 132 dladm \ 133 dlstat \ 134 dmesg \ 135 dodatadm \ 136 dtrace \ 137 du \ 138 dumpadm \ 139 dumpcs \ 140 echo \ 141 ed \ 142 eeprom \ 143 egrep \ 144 eject \ 145 emul64ioctl \ 146 enhance \ 147 env \ 148 eqn \ 149 expand \ 150 expr \ 151 exstr \ 152 factor \ 153 false \ 154 fcinfo \ 155 fcoesvc \ 156 fdetach \ 157 fdformat \ 158 fdisk \ 159 ficl \ 160 filesync \ 161 fgrep \ 162 file \ 163 find \ 164 flowadm \ 165 flowstat \ 166 fm \ 167 fmt \ 168 fmthard \ 169 fmtmsg \ 170 fold \ 171 format \ 172 fs.d \ 173 fstyp \ 174 fuser \ 175 fwflash \ 176 gcore \ 177 gencat \ 178 geniconvtbl \ 179 genmsg \ 180 getconf \ 181 getdevpolicy \ 182 getent \ 183 getfacl \ 184 getmajor \ 185 getopt \ 186 gettext \ 187 gettxt \ 188 grep \ 189 grep_xpg4 \ 190 groups \ 191 growfs \ 192 grpck \ 193 gss \ 194 hal \ 195 halt \ 196 head \ 197 hostid \ 198 hostname \ 199 hotplug \ 200 hotplugd \ 201 ibd_upgrade \ 202 iconv \ 203 id \ 204 idmap \ 205 infocmp \ 206 init \ 207 initpkg \ 208 install.d \ 209 intrd \ 210 intrstat \ 211 ipcrm \ 212 ipcs \ 213 ipdadm \ 214 ipf \ 215 isainfo \ 216 isalist \ 217 itutools \ 218 iscsiadm \ 219 iscsid \ 220 iscsitsvc \ 221 isns \ 222 itadm \ 223 kbd \ 224 keyserv \ 225 killall \ 226 krb5 \ 227 ksh \ 228 kvmstat \ 229 last \ 230 lastcomm \ 231 latencytop \ 232 ldap \ 233 ldapcachemgr \ 234 lgrpinfo \ 235 line \ 236 link \ 237 dlmgmtd \ 238 listen \ 239 loadkeys \ 240 locale \ 241 localedef \ 242 lockstat \ 243 locator \ 244 lofiadm \ 245 logadm \ 246 logger \ 247 login \ 248 logins \ 249 look \ 250 ls \ 251 luxadm \ 252 mach \ 253 mail \ 254 mailwrapper \ 255 mailx \ 256 make \ 257 makekey \ 258 man \ 259 mandoc \ 260 mdb \ 261 mesg \ 262 mkdir \ 263 mkfifo \ 264 mkfile \ 265 mkmsgs \ 266 mknod \ 267 mkpwdict \ 268 mktemp \ 269 modload \ 270 more \ 271 mpathadm \ 272 msgfmt \ 273 msgid \ 274 mt \ 275 mv \ 276 mvdir \ 277 ndmpadm \ 278 ndmpd \ 279 ndmpstat \ 280 netadm \ 281 netfiles \ 282 newform \ 283 newgrp \ 284 news \ 285 newtask \ 286 nice \ 287 nl \ 288 nlsadmin \ 289 nohup \ 290 nsadmin \ 291 nscd \ 292 oamuser \ 293 oawk \ 294 od \ 295 pack \ 296 pagesize \ 297 passmgmt \ 298 passwd \ 299 pathchk \ 300 pbind \ 301 pcidr \ 302 pcitool \ 303 pfexec \ 304 pfexecd \ 305 pginfo \ 306 pgstat \ 307 pgrep \ 308 picl \ 309 plimit \ 310 policykit \ 311 pools \ 312 power \ 313 powertop \ 314 ppgsz \ 315 pg \ 316 plockstat \ 317 pr \ 318 prctl \ 319 print \ 320 printf \ 321 priocntl \ 322 profiles \ 323 projadd \ 324 projects \ 325 prstat \ 326 prtconf \ 327 prtdiag \ 328 prtvtoc \ 329 ps \ 330 psradm \ 331 psrinfo \ 332 psrset \ 333 ptools \ 334 pwck \ 335 pwconv \ 336 pwd \ 337 pyzfs \ 338 raidctl \ 339 ramdiskadm \ 340 rcap \ 341 rcm_daemon \ 342 rctladm \ 343 refer \ 344 regcmp \ 345 renice \ 346 rm \ 347 rmdir \ 348 rmformat \ 349 rmmount \ 350 rmt \ 351 rmvolmgr \ 352 roles \ 353 rpcbind \ 354 rpcgen \ 355 rpcinfo \ 356 rpcsvc \ 357 runat \ 358 sa \ 359 saf \ 360 sasinfo \ 361 savecore \ 362 sbdadm \ 363 script \ 364 scsi \ 365 sdiff \ 366 sdpadm \ 367 sed \ 368 sendmail \ 369 setfacl \ 370 setmnt \ 371 setpgrp \ 372 setuname \ 373 sgs \ 374 sh \ 375 shcomp \ 376 smbios \ 377 smbsrv \ 378 smserverd \ 379 soelim \ 380 sort \ 381 spell \ 382 split \ 383 sqlite \ 384 srchtxt \ 385 srptadm \ 386 srptsvc \ 387 ssh \ 388 stat \ 389 stmfadm \ 390 stmfproxy \ 391 stmfsvc \ 392 stmsboot \ 393 streams \ 394 strings \ 395 su \ 396 sulogin \ 397 sunpc \ 398 svc \ 399 svr4pkg \ 400 swap \ 401 sync \ 402 sysdef \ 403 syseventadm \ 404 syslogd \ 405 tabs \ 406 tail \ 407 tar \ 408 tbl \ 409 tcopy \ 410 tcpd \ 411 th_tools \ 412 tic \ 413 time \ 414 tip \ 415 tnf \ 416 touch \ 417 tput \ 418 tr \ 419 trapstat \ 420 troff \ 421 true \ 422 truss \ 423 tsol \ 424 tty \ 425 ttymon \ 426 tzreload \ 427 uadmin \ 428 ul \ 429 uname \ 430 units \ 431 unlink \ 432 unpack \ 433 userattr \ 434 users \ 435 utmp_update \ 436 utmpd \ 437 uuidgen \ 438 valtools \ 439 vgrind \ 440 vi \ 441 volcheck \ 442 volrmmount \ 443 vrrpadm \ 444 vscan \ 445 vt \ 446 vtfontcvt \ 447 w \ 448 wall \ 449 which \ 450 who \ 451 whodo \ 452 wracct \ 453 write \ 454 xargs \ 455 xhci \ 456 xstr \ 457 yes \ 458 ypcmd \ 459 yppasswd \ 460 zdb \ 461 zdump \ 462 zfs \ 463 zhack \ 464 zic \ 465 zinject \ 466 zlogin \ 467 zoneadm \ 468 zoneadmd \ 469 zonecfg \ 470 zonename \ 471 zpool \ 472 zlook \ 473 zonestat \ 474 zstreamdump \ 475 ztest 476 477i386_SUBDIRS= \ 478 acpi \ 479 acpihpd \ 480 addbadsec \ 481 biosdev \ 482 diskscan \ 483 nvmeadm \ 484 rtc \ 485 ucodeadm \ 486 xvm 487 488sparc_SUBDIRS= \ 489 cvcd \ 490 dcs \ 491 device_remap \ 492 drd \ 493 fruadm \ 494 ldmad \ 495 oplhpd \ 496 prtdscp \ 497 prtfru \ 498 scadm \ 499 sckmd \ 500 sf880drd \ 501 virtinfo \ 502 vntsd 503 504# 505# Commands that are messaged. Note that 'lp' comes first 506# (see previous comment about 'lp'.) 507# 508MSGSUBDIRS= \ 509 lp \ 510 abi \ 511 acctadm \ 512 allocate \ 513 asa \ 514 audio \ 515 audit \ 516 auditconfig \ 517 auditd \ 518 auditrecord \ 519 auditset \ 520 auths \ 521 autopush \ 522 avs \ 523 awk \ 524 awk_xpg4 \ 525 backup \ 526 banner \ 527 bart \ 528 basename \ 529 beadm \ 530 bnu \ 531 busstat \ 532 cal \ 533 cat \ 534 cdrw \ 535 cfgadm \ 536 checkeq \ 537 checknr \ 538 chgrp \ 539 chmod \ 540 chown \ 541 cmd-crypto \ 542 cmd-inet \ 543 col \ 544 compress \ 545 consadm \ 546 coreadm \ 547 cpio \ 548 cpc \ 549 cron \ 550 csh \ 551 csplit \ 552 ctrun \ 553 ctstat \ 554 ctwatch \ 555 datadm \ 556 date \ 557 dc \ 558 dcs \ 559 dd \ 560 deroff \ 561 devfsadm \ 562 dfs.cmds \ 563 diff \ 564 diffmk \ 565 dladm \ 566 dlstat \ 567 du \ 568 dumpcs \ 569 ed \ 570 eject \ 571 env \ 572 eqn \ 573 expand \ 574 expr \ 575 fcinfo \ 576 fgrep \ 577 file \ 578 filesync \ 579 find \ 580 flowadm \ 581 flowstat \ 582 fm \ 583 fold \ 584 fs.d \ 585 fwflash \ 586 geniconvtbl \ 587 genmsg \ 588 getconf \ 589 getent \ 590 gettext \ 591 gettxt \ 592 grep \ 593 grep_xpg4 \ 594 grpck \ 595 gss \ 596 halt \ 597 head \ 598 hostname \ 599 hotplug \ 600 iconv \ 601 id \ 602 idmap \ 603 isaexec \ 604 iscsiadm \ 605 iscsid \ 606 isns \ 607 itadm \ 608 kbd \ 609 krb5 \ 610 ksh \ 611 last \ 612 ldap \ 613 ldapcachemgr \ 614 lgrpinfo \ 615 locale \ 616 lofiadm \ 617 logadm \ 618 logger \ 619 logins \ 620 ls \ 621 luxadm \ 622 mailx \ 623 make \ 624 man \ 625 mesg \ 626 mkdir \ 627 mkpwdict \ 628 mktemp \ 629 more \ 630 mpathadm \ 631 msgfmt \ 632 mv \ 633 ndmpadm \ 634 ndmpstat \ 635 newgrp \ 636 newtask \ 637 nice \ 638 nohup \ 639 oawk \ 640 pack \ 641 passwd \ 642 passmgmt \ 643 pathchk \ 644 pfexec \ 645 pg \ 646 pgrep \ 647 picl \ 648 pools \ 649 power \ 650 pr \ 651 praudit \ 652 print \ 653 profiles \ 654 projadd \ 655 projects \ 656 prstat \ 657 prtdiag \ 658 ps \ 659 psrinfo \ 660 ptools \ 661 pwconv \ 662 pwd \ 663 pyzfs \ 664 raidctl \ 665 ramdiskadm \ 666 rcap \ 667 rcm_daemon \ 668 refer \ 669 regcmp \ 670 renice \ 671 roles \ 672 rm \ 673 rmdir \ 674 rmformat \ 675 rmmount \ 676 rmvolmgr \ 677 sasinfo \ 678 sbdadm \ 679 scadm \ 680 script \ 681 scsi \ 682 sdiff \ 683 sdpadm \ 684 sgs \ 685 sh \ 686 shcomp \ 687 smbsrv \ 688 sort \ 689 split \ 690 srptadm \ 691 stat \ 692 stmfadm \ 693 stmsboot \ 694 strings \ 695 su \ 696 svc \ 697 svr4pkg \ 698 swap \ 699 syseventadm \ 700 syseventd \ 701 tabs \ 702 tar \ 703 tbl \ 704 time \ 705 tnf \ 706 touch \ 707 tput \ 708 troff \ 709 tsol \ 710 tty \ 711 ttymon \ 712 tzreload \ 713 ul \ 714 uname \ 715 units \ 716 unlink \ 717 unpack \ 718 userattr \ 719 valtools \ 720 vgrind \ 721 vi \ 722 volcheck \ 723 volrmmount \ 724 vrrpadm \ 725 vscan \ 726 w \ 727 who \ 728 whodo \ 729 wracct \ 730 write \ 731 xargs \ 732 yppasswd \ 733 zdump \ 734 zfs \ 735 zic \ 736 zlogin \ 737 zoneadm \ 738 zoneadmd \ 739 zonecfg \ 740 zonename \ 741 zpool \ 742 zonestat 743 744sparc_MSGSUBDIRS= \ 745 fruadm \ 746 prtdscp \ 747 prtfru \ 748 virtinfo \ 749 vntsd 750 751i386_MSGSUBDIRS= \ 752 ucodeadm 753 754# 755# commands that use dcgettext for localized time, LC_TIME 756# 757DCSUBDIRS= \ 758 cal \ 759 cfgadm \ 760 diff \ 761 ls \ 762 pr \ 763 ps \ 764 tar \ 765 w \ 766 who \ 767 whodo \ 768 write 769 770# 771# commands that belong only to audit. 772# 773AUDITSUBDIRS= \ 774 amt \ 775 audit \ 776 audit_warn \ 777 auditconfig \ 778 auditd \ 779 auditrecord \ 780 auditreduce \ 781 auditset \ 782 auditstat \ 783 praudit 784 785# 786# commands not owned by the systems group 787# 788BWOSDIRS= 789 790 791all := TARGET = all 792install := TARGET = install 793clean := TARGET = clean 794clobber := TARGET = clobber 795lint := TARGET = lint 796_msg := TARGET = _msg 797_dc := TARGET = _dc 798 799.KEEP_STATE: 800 801SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 802 803.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 804 805all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 806 $(AUDITSUBDIRS) 807 808# 809# Manifests cannot be checked in parallel, because we are using 810# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 811# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 812# we spawn off a sub-make to perform the non-parallel 'make check' 813# 814check: 815 $(MAKE) -f Makefile.check check 816 817# 818# The .WAIT directive works around an apparent bug in parallel make. 819# Evidently make was getting the target _msg vs. _dc confused under 820# some level of parallelization, causing some of the _dc objects 821# not to be built. 822# 823_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 824 825_dc: $(DCSUBDIRS) 826 827# 828# Dependencies 829# 830fs.d: fstyp 831ksh: shcomp isaexec 832print: lp 833fmt: mailx 834 835$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 836 @if [ -f $@/Makefile ]; then \ 837 cd $@; pwd; $(MAKE) $(TARGET); \ 838 else \ 839 true; \ 840 fi 841 842FRC: 843