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