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