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 2011 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 28 include ../Makefile.master 29 30 # 31 # Note that the commands 'agents', 'lp', 'perl', and 'man' are first in 32 # the list, violating alphabetical order. This is because they are very 33 # long-running and should be given the most wall-clock time for a 34 # parallel build. 35 # 36 # Commands in the FIRST_SUBDIRS list are built before starting the build 37 # of other commands. Currently this includes only 'isaexec' and 38 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 39 # $(ROOT)/usr/lib/platexec must exist when some other commands are built 40 # because their 'make install' creates a hard link to one of them. 41 # 42 # Commands are listed one per line so that TeamWare can auto-merge most 43 # changes. 44 # 45 46 FIRST_SUBDIRS= \ 47 isaexec \ 48 platexec 49 50 COMMON_SUBDIRS= \ 51 allocate \ 52 availdevs \ 53 lp \ 54 perl \ 55 man \ 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 filebench \ 161 find \ 162 flowadm \ 163 flowstat \ 164 fm \ 165 fmt \ 166 fmthard \ 167 fmtmsg \ 168 fold \ 169 format \ 170 fs.d \ 171 fstyp \ 172 fuser \ 173 fwflash \ 174 gcore \ 175 gencat \ 176 geniconvtbl \ 177 genmsg \ 178 getconf \ 179 getdevpolicy \ 180 getent \ 181 getfacl \ 182 getmajor \ 183 getopt \ 184 gettext \ 185 gettxt \ 186 grep \ 187 grep_xpg4 \ 188 groups \ 189 grpck \ 190 gss \ 191 hal \ 192 halt \ 193 head \ 194 hostid \ 195 hostname \ 196 hotplug \ 197 hotplugd \ 198 hwdata \ 199 ibd_upgrade \ 200 id \ 201 idmap \ 202 infocmp \ 203 init \ 204 initpkg \ 205 install.d \ 206 intrd \ 207 intrstat \ 208 ipcrm \ 209 ipcs \ 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 mailx \ 254 makekey \ 255 mdb \ 256 mesg \ 257 mkdir \ 258 mkfifo \ 259 mkfile \ 260 mkmsgs \ 261 mknod \ 262 mkpwdict \ 263 mktemp \ 264 modload \ 265 more \ 266 mpathadm \ 267 msgfmt \ 268 msgid \ 269 mt \ 270 mv \ 271 mvdir \ 272 ndmpadm \ 273 ndmpd \ 274 ndmpstat \ 275 netadm \ 276 netfiles \ 277 newform \ 278 newgrp \ 279 news \ 280 newtask \ 281 nice \ 282 nl \ 283 nlsadmin \ 284 nohup \ 285 nsadmin \ 286 nscd \ 287 oamuser \ 288 oawk \ 289 od \ 290 pack \ 291 pagesize \ 292 passmgmt \ 293 passwd \ 294 pathchk \ 295 pbind \ 296 pcidr \ 297 pcitool \ 298 pfexec \ 299 pfexecd \ 300 pginfo \ 301 pgstat \ 302 pgrep \ 303 picl \ 304 plimit \ 305 policykit \ 306 pools \ 307 power \ 308 powertop \ 309 ppgsz \ 310 pg \ 311 plockstat \ 312 pr \ 313 prctl \ 314 print \ 315 printf \ 316 priocntl \ 317 profiles \ 318 projadd \ 319 projects \ 320 prstat \ 321 prtconf \ 322 prtdiag \ 323 prtvtoc \ 324 ps \ 325 psradm \ 326 psrinfo \ 327 psrset \ 328 ptools \ 329 pwck \ 330 pwconv \ 331 pwd \ 332 pyzfs \ 333 raidctl \ 334 ramdiskadm \ 335 rcap \ 336 rcm_daemon \ 337 rctladm \ 338 refer \ 339 regcmp \ 340 renice \ 341 rexd \ 342 rm \ 343 rmdir \ 344 rmformat \ 345 rmmount \ 346 rmt \ 347 rmvolmgr \ 348 roles \ 349 rpcbind \ 350 rpcgen \ 351 rpcinfo \ 352 rpcsvc \ 353 runat \ 354 sa \ 355 saf \ 356 sasinfo \ 357 savecore \ 358 sbdadm \ 359 script \ 360 scsi \ 361 sdiff \ 362 sdpadm \ 363 sed \ 364 sendmail \ 365 setfacl \ 366 setmnt \ 367 setpgrp \ 368 setuname \ 369 sgs \ 370 sh \ 371 shcomp \ 372 smbios \ 373 smbsrv \ 374 smserverd \ 375 soelim \ 376 sort \ 377 spell \ 378 split \ 379 sqlite \ 380 srchtxt \ 381 srptadm \ 382 srptsvc \ 383 ssh \ 384 stat \ 385 stmfadm \ 386 stmfproxy \ 387 stmfsvc \ 388 stmsboot \ 389 streams \ 390 strings \ 391 su \ 392 sulogin \ 393 sunpc \ 394 svc \ 395 svr4pkg \ 396 swap \ 397 sync \ 398 sysdef \ 399 syseventadm \ 400 syslogd \ 401 tabs \ 402 tail \ 403 tar \ 404 tbl \ 405 tcopy \ 406 tcpd \ 407 terminfo \ 408 th_tools \ 409 tic \ 410 time \ 411 tip \ 412 tnf \ 413 touch \ 414 tput \ 415 tr \ 416 trapstat \ 417 troff \ 418 true \ 419 truss \ 420 tsol \ 421 tty \ 422 ttymon \ 423 tzreload \ 424 uadmin \ 425 ul \ 426 uname \ 427 units \ 428 unlink \ 429 unpack \ 430 userattr \ 431 users \ 432 utmp_update \ 433 utmpd \ 434 valtools \ 435 vgrind \ 436 vi \ 437 volcheck \ 438 volrmmount \ 439 vrrpadm \ 440 vscan \ 441 vt \ 442 w \ 443 wall \ 444 which \ 445 who \ 446 whodo \ 447 wracct \ 448 write \ 449 wusbadm \ 450 xargs \ 451 xstr \ 452 yes \ 453 ypcmd \ 454 yppasswd \ 455 zdb \ 456 zdump \ 457 zfs \ 458 zhack \ 459 zic \ 460 zinject \ 461 zlogin \ 462 zoneadm \ 463 zoneadmd \ 464 zonecfg \ 465 zonename \ 466 zpool \ 467 zlook \ 468 zonestat \ 469 zstreamdump \ 470 ztest 471 472 $(CLOSED_BUILD)COMMON_SUBDIRS += \ 473 $(CLOSED)/cmd/iconv \ 474 $(CLOSED)/cmd/ksh \ 475 $(CLOSED)/cmd/localedef \ 476 $(CLOSED)/cmd/more_xpg4 \ 477 $(CLOSED)/cmd/mtst \ 478 $(CLOSED)/cmd/od \ 479 $(CLOSED)/cmd/patch \ 480 $(CLOSED)/cmd/pax \ 481 $(CLOSED)/cmd/printf \ 482 $(CLOSED)/cmd/sed \ 483 $(CLOSED)/cmd/sed_xpg4 484 485 i386_SUBDIRS= \ 486 acpihpd \ 487 addbadsec \ 488 biosdev \ 489 diskscan \ 490 lms \ 491 ntfsprogs \ 492 parted \ 493 rtc \ 494 ucodeadm \ 495 xvm 496 497 sparc_SUBDIRS= \ 498 cvcd \ 499 dcs \ 500 device_remap \ 501 drd \ 502 fruadm \ 503 ldmad \ 504 oplhpd \ 505 prtdscp \ 506 prtfru \ 507 scadm \ 508 sckmd \ 509 sf880drd \ 510 virtinfo \ 511 vntsd 512 513 # 514 # Commands that are messaged. Note that 'lp' and 'man' come first 515 # (see previous comment about 'lp' and 'man'). 516 # 517 MSGSUBDIRS= \ 518 lp \ 519 man \ 520 abi \ 521 acctadm \ 522 allocate \ 523 asa \ 524 audio \ 525 audit \ 526 auditconfig \ 527 auditd \ 528 auditrecord \ 529 auditset \ 530 auths \ 531 autopush \ 532 avs \ 533 awk \ 534 awk_xpg4 \ 535 backup \ 536 banner \ 537 bart \ 538 basename \ 539 beadm \ 540 bnu \ 541 busstat \ 542 cal \ 543 cat \ 544 cdrw \ 545 cfgadm \ 546 checkeq \ 547 checknr \ 548 chgrp \ 549 chmod \ 550 chown \ 551 cmd-crypto \ 552 cmd-inet \ 553 col \ 554 compress \ 555 consadm \ 556 coreadm \ 557 cpio \ 558 cpc \ 559 cron \ 560 csh \ 561 csplit \ 562 ctrun \ 563 ctstat \ 564 ctwatch \ 565 datadm \ 566 date \ 567 dc \ 568 dcs \ 569 dd \ 570 deroff \ 571 devfsadm \ 572 dfs.cmds \ 573 diff \ 574 diffmk \ 575 dladm \ 576 dlstat \ 577 du \ 578 dumpcs \ 579 ed \ 580 eject \ 581 env \ 582 eqn \ 583 expand \ 584 expr \ 585 fcinfo \ 586 fgrep \ 587 file \ 588 filesync \ 589 find \ 590 flowadm \ 591 flowstat \ 592 fm \ 593 fold \ 594 fs.d \ 595 fwflash \ 596 geniconvtbl \ 597 genmsg \ 598 getconf \ 599 getent \ 600 gettext \ 601 gettxt \ 602 grep \ 603 grep_xpg4 \ 604 grpck \ 605 gss \ 606 halt \ 607 head \ 608 hostname \ 609 hotplug \ 610 id \ 611 idmap \ 612 isaexec \ 613 iscsiadm \ 614 iscsid \ 615 isns \ 616 itadm \ 617 kbd \ 618 krb5 \ 619 ksh \ 620 last \ 621 ldap \ 622 ldapcachemgr \ 623 lgrpinfo \ 624 locale \ 625 lofiadm \ 626 logadm \ 627 logger \ 628 logins \ 629 ls \ 630 luxadm \ 631 lvm \ 632 mailx \ 633 mesg \ 634 mkdir \ 635 mkpwdict \ 636 mktemp \ 637 more \ 638 mpathadm \ 639 msgfmt \ 640 mv \ 641 ndmpadm \ 642 ndmpstat \ 643 newgrp \ 644 newtask \ 645 nice \ 646 nohup \ 647 oawk \ 648 pack \ 649 passwd \ 650 passmgmt \ 651 pathchk \ 652 pfexec \ 653 pg \ 654 pgrep \ 655 picl \ 656 pools \ 657 power \ 658 pr \ 659 praudit \ 660 print \ 661 profiles \ 662 projadd \ 663 projects \ 664 prstat \ 665 prtdiag \ 666 ps \ 667 psrinfo \ 668 ptools \ 669 pwconv \ 670 pwd \ 671 pyzfs \ 672 raidctl \ 673 ramdiskadm \ 674 rcap \ 675 rcm_daemon \ 676 refer \ 677 regcmp \ 678 renice \ 679 roles \ 680 rm \ 681 rmdir \ 682 rmformat \ 683 rmmount \ 684 rmvolmgr \ 685 sasinfo \ 686 sbdadm \ 687 scadm \ 688 script \ 689 scsi \ 690 sdiff \ 691 sdpadm \ 692 sgs \ 693 sh \ 694 shcomp \ 695 smbsrv \ 696 sort \ 697 split \ 698 srptadm \ 699 ssh \ 700 stat \ 701 stmfadm \ 702 stmsboot \ 703 strings \ 704 su \ 705 svc \ 706 svr4pkg \ 707 swap \ 708 syseventadm \ 709 syseventd \ 710 tabs \ 711 tar \ 712 tbl \ 713 time \ 714 tnf \ 715 touch \ 716 tput \ 717 troff \ 718 tsol \ 719 tty \ 720 ttymon \ 721 tzreload \ 722 ul \ 723 uname \ 724 units \ 725 unlink \ 726 unpack \ 727 userattr \ 728 valtools \ 729 vgrind \ 730 vi \ 731 volcheck \ 732 volrmmount \ 733 vrrpadm \ 734 vscan \ 735 w \ 736 who \ 737 whodo \ 738 wracct \ 739 write \ 740 wusbadm \ 741 xargs \ 742 yppasswd \ 743 zdump \ 744 zfs \ 745 zic \ 746 zlogin \ 747 zoneadm \ 748 zoneadmd \ 749 zonecfg \ 750 zonename \ 751 zpool \ 752 zonestat 753 754 $(CLOSED_BUILD)MSGSUBDIRS += \ 755 $(CLOSED)/cmd/iconv \ 756 $(CLOSED)/cmd/ksh \ 757 $(CLOSED)/cmd/localedef \ 758 $(CLOSED)/cmd/more_xpg4 \ 759 $(CLOSED)/cmd/od \ 760 $(CLOSED)/cmd/patch \ 761 $(CLOSED)/cmd/pax \ 762 $(CLOSED)/cmd/printf \ 763 $(CLOSED)/cmd/sed \ 764 $(CLOSED)/cmd/sed_xpg4 765 766 sparc_MSGSUBDIRS= \ 767 fruadm \ 768 prtdscp \ 769 prtfru \ 770 virtinfo \ 771 vntsd 772 773 i386_MSGSUBDIRS= \ 774 ucodeadm 775 776 # 777 # commands that use dcgettext for localized time, LC_TIME 778 # 779 DCSUBDIRS= \ 780 cal \ 781 cfgadm \ 782 diff \ 783 ls \ 784 pr \ 785 ps \ 786 tar \ 787 w \ 788 who \ 789 whodo \ 790 write 791 792 $(CLOSED_BUILD)DCSUBDIRS += \ 793 $(CLOSED)/cmd/pax 794 795 # 796 # commands that belong only to audit. 797 # 798 AUDITSUBDIRS= \ 799 amt \ 800 audit \ 801 audit_warn \ 802 auditconfig \ 803 auditd \ 804 auditrecord \ 805 auditreduce \ 806 auditset \ 807 auditstat \ 808 praudit 809 810 # 811 # commands not owned by the systems group 812 # 813 BWOSDIRS= 814 815 816 all := TARGET = all 817 install := TARGET = install 818 clean := TARGET = clean 819 clobber := TARGET = clobber 820 lint := TARGET = lint 821 _msg := TARGET = _msg 822 _dc := TARGET = _dc 823 824 .KEEP_STATE: 825 826 SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 827 828 .PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 829 830 all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 831 $(AUDITSUBDIRS) 832 833 # 834 # Manifests cannot be checked in parallel, because we are using 835 # the global repository that is in $(SRC)/cmd/svc/seed/global.db. 836 # For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 837 # we spawn off a sub-make to perform the non-parallel 'make check' 838 # 839 check: 840 $(MAKE) -f Makefile.check check 841 842 # 843 # The .WAIT directive works around an apparent bug in parallel make. 844 # Evidently make was getting the target _msg vs. _dc confused under 845 # some level of parallelization, causing some of the _dc objects 846 # not to be built. 847 # 848 _msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 849 850 _dc: $(DCSUBDIRS) 851 852 # 853 # Dependencies 854 # 855 fs.d: fstyp 856 ksh: shcomp isaexec 857 mdb: terminfo 858 print: lp 859 860 $(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 861 @if [ -f $@/Makefile ]; then \ 862 cd $@; pwd; $(MAKE) $(TARGET); \ 863 else \ 864 true; \ 865 fi 866 867 FRC: