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