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