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# 24# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25# Use is subject to license terms. 26# 27# ident "%Z%%M% %I% %E% SMI" 28 29include ../Makefile.master 30include ../Makefile.ksh93switch 31 32# 33# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in 34# the list, violating alphabetical order. This is because they are very 35# long-running and should be given the most wall-clock time for a 36# parallel build. 37# 38# Commands in the FIRST_SUBDIRS list are built before starting the build 39# of other commands. Currently this includes only 'isaexec' and 40# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 41# $(ROOT)/usr/lib/platexec must exist when some other commands are built 42# because their 'make install' creates a hard link to one of them. 43# 44# Commands are listed one per line so that TeamWare can auto-merge most 45# changes. 46# 47 48FIRST_SUBDIRS= \ 49 isaexec \ 50 platexec 51 52COMMON_SUBDIRS= \ 53 agents \ 54 availdevs \ 55 lp \ 56 perl \ 57 man \ 58 Adm \ 59 abi \ 60 adbgen \ 61 acct \ 62 acctadm \ 63 arch \ 64 asa \ 65 ast \ 66 audio \ 67 auths \ 68 autopush \ 69 awk \ 70 awk_xpg4 \ 71 backup \ 72 banner \ 73 bart \ 74 basename \ 75 bc \ 76 bdiff \ 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 cksum \ 94 clear \ 95 clinfo \ 96 cmd-crypto \ 97 cmd-inet \ 98 cmp \ 99 col \ 100 comm \ 101 compress \ 102 consadm \ 103 coreadm \ 104 cpio \ 105 cpc \ 106 cron \ 107 crypt \ 108 csh \ 109 csplit \ 110 ctrun \ 111 ctstat \ 112 ctwatch \ 113 cut \ 114 datadm \ 115 date \ 116 dc \ 117 dd \ 118 deroff \ 119 des \ 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 diskmgtd \ 134 dispadmin \ 135 dladm \ 136 dmesg \ 137 dtrace \ 138 du \ 139 dumpadm \ 140 dumpcs \ 141 echo \ 142 ed \ 143 eeprom \ 144 egrep \ 145 eject \ 146 emul64ioctl \ 147 enhance \ 148 env \ 149 eqn \ 150 expand \ 151 expr \ 152 exstr \ 153 factor \ 154 false \ 155 fdetach \ 156 fdformat \ 157 fdisk \ 158 filesync \ 159 fgrep \ 160 file \ 161 filebench \ 162 find \ 163 fm \ 164 fmli \ 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 graph \ 187 grep \ 188 grep_xpg4 \ 189 groups \ 190 grpck \ 191 gss \ 192 hal \ 193 halt \ 194 head \ 195 hostid \ 196 hostname \ 197 hwdata \ 198 id \ 199 idmap \ 200 infocmp \ 201 init \ 202 initpkg \ 203 install.d \ 204 intrd \ 205 intrstat \ 206 ipcrm \ 207 ipcs \ 208 ipf \ 209 isainfo \ 210 isalist \ 211 iscsi \ 212 java \ 213 join \ 214 kbd \ 215 keyserv \ 216 killall \ 217 krb5 \ 218 ksh \ 219 kstat \ 220 last \ 221 lastcomm \ 222 ldap \ 223 ldapcachemgr \ 224 lgrpinfo \ 225 line \ 226 link \ 227 dlmgmtd \ 228 listen \ 229 loadkeys \ 230 locale \ 231 lockstat \ 232 locator \ 233 lofiadm \ 234 logadm \ 235 logger \ 236 login \ 237 logins \ 238 logname \ 239 look \ 240 ls \ 241 lvm \ 242 mach \ 243 machid \ 244 mail \ 245 mailx \ 246 makekey \ 247 mdb \ 248 mesg \ 249 mkdir \ 250 mkfifo \ 251 mkfile \ 252 mkmsgs \ 253 mknod \ 254 mkpwdict \ 255 mktemp \ 256 modload \ 257 more \ 258 msgfmt \ 259 msgid \ 260 mt \ 261 mv \ 262 mvdir \ 263 netadm \ 264 netfiles \ 265 newform \ 266 newgrp \ 267 news \ 268 newtask \ 269 nice \ 270 nispasswd \ 271 nl \ 272 nlsadmin \ 273 nohup \ 274 nsadmin \ 275 nscd \ 276 oamuser \ 277 oawk \ 278 openssl \ 279 pack \ 280 pagesize \ 281 passmgmt \ 282 passwd \ 283 paste \ 284 pathchk \ 285 pbind \ 286 pcidr \ 287 pcmciad \ 288 pfexec \ 289 pgrep \ 290 picl \ 291 plimit \ 292 policykit \ 293 pools \ 294 power \ 295 ppgsz \ 296 pg \ 297 plockstat \ 298 pr \ 299 prctl \ 300 print \ 301 priocntl \ 302 profiles \ 303 projadd \ 304 projects \ 305 prstat \ 306 prtconf \ 307 prtdiag \ 308 prtvtoc \ 309 ps \ 310 psradm \ 311 psrinfo \ 312 psrset \ 313 ptools \ 314 pwck \ 315 pwconv \ 316 pwd \ 317 raidctl \ 318 ramdiskadm \ 319 rcap \ 320 rcm_daemon \ 321 rctladm \ 322 refer \ 323 regcmp \ 324 renice \ 325 rexd \ 326 rm \ 327 rmdir \ 328 rmformat \ 329 rmmount \ 330 rmt \ 331 rmvolmgr \ 332 roles \ 333 rpcbind \ 334 rpcgen \ 335 rpcinfo \ 336 rpcsvc \ 337 rpld \ 338 runat \ 339 sa \ 340 saf \ 341 savecore \ 342 script \ 343 scsi \ 344 sdiff \ 345 sdpadm \ 346 sendmail \ 347 setfacl \ 348 setmnt \ 349 setpgrp \ 350 setuname \ 351 sgs \ 352 sh \ 353 sleep \ 354 smbios \ 355 smbsrv \ 356 smserverd \ 357 soelim \ 358 sort \ 359 spell \ 360 spline \ 361 split \ 362 sqlite \ 363 srchtxt \ 364 ssh \ 365 stat \ 366 stmsboot \ 367 streams \ 368 strings \ 369 su \ 370 sulogin \ 371 sum \ 372 sunpc \ 373 svc \ 374 swap \ 375 sync \ 376 sysdef \ 377 syseventadm \ 378 syslogd \ 379 tabs \ 380 tar \ 381 tbl \ 382 tcopy \ 383 tcpd \ 384 tee \ 385 terminfo \ 386 th_tools \ 387 tic \ 388 time \ 389 tip \ 390 tnf \ 391 touch \ 392 tplot \ 393 tput \ 394 trapstat \ 395 troff \ 396 true \ 397 truss \ 398 tsol \ 399 tty \ 400 ttymon \ 401 uadmin \ 402 ul \ 403 uname \ 404 uniq \ 405 units \ 406 unlink \ 407 unpack \ 408 users \ 409 utmp_update \ 410 utmpd \ 411 valtools \ 412 vgrind \ 413 vi \ 414 vna \ 415 volcheck \ 416 volrmmount \ 417 vscan \ 418 w \ 419 wall \ 420 wbem \ 421 wc \ 422 which \ 423 who \ 424 whodo \ 425 wracct \ 426 write \ 427 xntpd \ 428 xargs \ 429 xstr \ 430 yes \ 431 ypcmd \ 432 yppasswd \ 433 zdb \ 434 zdump \ 435 zfs \ 436 zic \ 437 zinject \ 438 zlogin \ 439 zoneadm \ 440 zoneadmd \ 441 zonecfg \ 442 zonename \ 443 zpool \ 444 ztest 445 446$(CLOSED_BUILD)COMMON_SUBDIRS += \ 447 $(CLOSED)/cmd/dodatadm \ 448 $(CLOSED)/cmd/iconv \ 449 $(CLOSED)/cmd/ksh \ 450 $(CLOSED)/cmd/llc2 \ 451 $(CLOSED)/cmd/localedef \ 452 $(CLOSED)/cmd/more_xpg4 \ 453 $(CLOSED)/cmd/mtst \ 454 $(CLOSED)/cmd/ndmpadm \ 455 $(CLOSED)/cmd/ndmpd \ 456 $(CLOSED)/cmd/ndmpstat \ 457 $(CLOSED)/cmd/od \ 458 $(CLOSED)/cmd/patch \ 459 $(CLOSED)/cmd/pax \ 460 $(CLOSED)/cmd/pcitool \ 461 $(CLOSED)/cmd/printf \ 462 $(CLOSED)/cmd/sed \ 463 $(CLOSED)/cmd/sed_xpg4 \ 464 $(CLOSED)/cmd/smartcard \ 465 $(CLOSED)/cmd/tail \ 466 $(CLOSED)/cmd/tr \ 467 $(CLOSED)/cmd/tr_xpg4 468 469i386_SUBDIRS= \ 470 addbadsec \ 471 biosdev \ 472 diskscan \ 473 OWconfig \ 474 rtc \ 475 ucodeadm 476 477sparc_SUBDIRS= \ 478 cvcd \ 479 dcs \ 480 drd \ 481 fps \ 482 fruadm \ 483 oplhpd \ 484 prtdscp \ 485 prtfru \ 486 scadm \ 487 sckmd \ 488 sf880drd \ 489 vntsd 490 491# 492# Commands that are messaged. Note that 'lp' and 'man' come first 493# (see previous comment about 'lp' and 'man'). 494# 495MSGSUBDIRS= \ 496 lp \ 497 man \ 498 abi \ 499 acctadm \ 500 allocate \ 501 asa \ 502 audio \ 503 audit \ 504 auditd \ 505 auths \ 506 autopush \ 507 awk \ 508 awk_xpg4 \ 509 backup \ 510 banner \ 511 bart \ 512 basename \ 513 bnu \ 514 bsmconv \ 515 bsmrecord \ 516 bsmunconv \ 517 busstat \ 518 cal \ 519 cat \ 520 cdrw \ 521 cfgadm \ 522 checkeq \ 523 checknr \ 524 chgrp \ 525 chmod \ 526 chown \ 527 cksum \ 528 cmd-crypto \ 529 cmd-inet \ 530 cmp \ 531 col \ 532 comm \ 533 compress \ 534 consadm \ 535 coreadm \ 536 cpio \ 537 cpc \ 538 cron \ 539 csh \ 540 csplit \ 541 ctrun \ 542 ctstat \ 543 ctwatch \ 544 cut \ 545 datadm \ 546 date \ 547 dc \ 548 dcs \ 549 dd \ 550 deroff \ 551 devfsadm \ 552 dfs.cmds \ 553 diff \ 554 diffmk \ 555 dladm \ 556 du \ 557 dumpcs \ 558 ed \ 559 eject \ 560 env \ 561 eqn \ 562 expand \ 563 expr \ 564 fgrep \ 565 file \ 566 filesync \ 567 find \ 568 fm \ 569 fold \ 570 fs.d \ 571 fwflash \ 572 geniconvtbl \ 573 genmsg \ 574 getconf \ 575 getent \ 576 gettext \ 577 gettxt \ 578 grep \ 579 grep_xpg4 \ 580 grpck \ 581 gss \ 582 halt \ 583 head \ 584 hostname \ 585 id \ 586 idmap \ 587 isaexec \ 588 iscsi \ 589 join \ 590 kbd \ 591 krb5 \ 592 ksh \ 593 kstat \ 594 last \ 595 ldap \ 596 ldapcachemgr \ 597 lgrpinfo \ 598 locale \ 599 lofiadm \ 600 logadm \ 601 logger \ 602 logins \ 603 logname \ 604 ls \ 605 lvm \ 606 mailx \ 607 mesg \ 608 mkdir \ 609 mkpwdict \ 610 mktemp \ 611 more \ 612 msgfmt \ 613 mv \ 614 newgrp \ 615 newtask \ 616 nice \ 617 nispasswd \ 618 nohup \ 619 oawk \ 620 pack \ 621 passwd \ 622 passmgmt \ 623 paste \ 624 pathchk \ 625 pfexec \ 626 pg \ 627 pgrep \ 628 picl \ 629 pools \ 630 power \ 631 pr \ 632 praudit \ 633 print \ 634 profiles \ 635 projadd \ 636 projects \ 637 prstat \ 638 prtdiag \ 639 ps \ 640 psrinfo \ 641 ptools \ 642 pwconv \ 643 pwd \ 644 raidctl \ 645 ramdiskadm \ 646 rcap \ 647 rcm_daemon \ 648 refer \ 649 regcmp \ 650 renice \ 651 roles \ 652 rm \ 653 rmdir \ 654 rmformat \ 655 rmmount \ 656 rmvolmgr \ 657 scadm \ 658 script \ 659 scsi \ 660 sdiff \ 661 sdpadm \ 662 sgs \ 663 sh \ 664 sleep \ 665 sort \ 666 split \ 667 ssh \ 668 stat \ 669 stmsboot \ 670 strings \ 671 su \ 672 sum \ 673 svc \ 674 swap \ 675 syseventadm \ 676 syseventd \ 677 tabs \ 678 tar \ 679 tbl \ 680 tee \ 681 time \ 682 tnf \ 683 touch \ 684 tput \ 685 troff \ 686 tsol \ 687 tty \ 688 ttymon \ 689 ul \ 690 uname \ 691 uniq \ 692 units \ 693 unlink \ 694 unpack \ 695 valtools \ 696 vgrind \ 697 vi \ 698 volcheck \ 699 volrmmount \ 700 w \ 701 wbem \ 702 wc \ 703 who \ 704 whodo \ 705 wracct \ 706 write \ 707 xargs \ 708 yppasswd \ 709 zdump \ 710 zfs \ 711 zic \ 712 zlogin \ 713 zoneadm \ 714 zoneadmd \ 715 zonecfg \ 716 zonename \ 717 zpool 718 719$(CLOSED_BUILD)MSGSUBDIRS += \ 720 $(CLOSED)/cmd/iconv \ 721 $(CLOSED)/cmd/ksh \ 722 $(CLOSED)/cmd/llc2 \ 723 $(CLOSED)/cmd/localedef \ 724 $(CLOSED)/cmd/more_xpg4 \ 725 $(CLOSED)/cmd/ndmpadm \ 726 $(CLOSED)/cmd/ndmpstat \ 727 $(CLOSED)/cmd/od \ 728 $(CLOSED)/cmd/patch \ 729 $(CLOSED)/cmd/pax \ 730 $(CLOSED)/cmd/printf \ 731 $(CLOSED)/cmd/sed \ 732 $(CLOSED)/cmd/sed_xpg4 \ 733 $(CLOSED)/cmd/tail \ 734 $(CLOSED)/cmd/tr \ 735 $(CLOSED)/cmd/tr_xpg4 736 737sparc_MSGSUBDIRS= \ 738 fruadm \ 739 prtdscp \ 740 prtfru \ 741 vntsd 742 743i386_MSGSUBDIRS= \ 744 ucodeadm 745 746# 747# commands that use dcgettext for localized time, LC_TIME 748# 749DCSUBDIRS= \ 750 cal \ 751 cfgadm \ 752 diff \ 753 ls \ 754 pr \ 755 ps \ 756 tar \ 757 w \ 758 who \ 759 whodo \ 760 write 761 762$(CLOSED_BUILD)DCSUBDIRS += \ 763 $(CLOSED)/cmd/pax 764 765# 766# commands that belong only to the basic security module 767# 768BSMSUBDIRS= \ 769 allocate \ 770 amt \ 771 audit \ 772 audit_warn \ 773 auditconfig \ 774 auditd \ 775 auditreduce \ 776 auditstat \ 777 praudit \ 778 bsmconv \ 779 bsmrecord \ 780 bsmunconv 781 782# 783# commands not owned by the systems group 784# 785BWOSDIRS= 786 787# 788# Commands providing manifests must offer a check target. A recursive check 789# target across all commands directories is not currently provided. 790# 791MANIFEST_TOPDIRS= \ 792 auditd \ 793 bnu \ 794 consadm \ 795 coreadm \ 796 cron \ 797 cvcd \ 798 dispadmin \ 799 drd \ 800 dumpadm \ 801 eeprom \ 802 fm \ 803 intrd \ 804 ipf \ 805 keyserv \ 806 ldapcachemgr \ 807 dlmgmtd \ 808 nscd \ 809 oplhpd \ 810 power \ 811 rexd \ 812 rpcbind \ 813 rpcsvc \ 814 saf \ 815 sf880drd \ 816 smserverd \ 817 syseventd \ 818 syslogd \ 819 utmpd \ 820 vntsd \ 821 ypcmd \ 822 zoneadmd 823 824MANIFEST_SUBDIRS= \ 825 boot/scripts \ 826 cmd-crypto/scripts \ 827 cmd-inet/usr.lib/in.chargend \ 828 cmd-inet/usr.lib/in.daytimed \ 829 cmd-inet/usr.lib/in.dhcpd \ 830 cmd-inet/usr.lib/in.discardd \ 831 cmd-inet/usr.lib/in.echod \ 832 cmd-inet/usr.lib/in.ndpd \ 833 cmd-inet/usr.lib/in.ripngd \ 834 cmd-inet/usr.lib/in.timed \ 835 cmd-inet/usr.lib/inetd \ 836 cmd-inet/usr.lib/mdnsd \ 837 cmd-inet/usr.lib/slpd \ 838 cmd-inet/usr.lib/wpad \ 839 cmd-inet/usr.sbin \ 840 cmd-inet/usr.sbin/in.ftpd \ 841 cmd-inet/usr.sbin/in.rdisc \ 842 cmd-inet/usr.sbin/in.routed \ 843 cmd-inet/usr.sbin/in.talkd \ 844 cmd-inet/usr.sbin/routeadm \ 845 cmd/tsol/labeld \ 846 cmd/tsol/tnctl \ 847 cmd/tsol/tnd \ 848 cmd/tsol/tsol-zones \ 849 dcs/sparc/sun4u \ 850 fs.d/autofs \ 851 fs.d/cachefs \ 852 fs.d/nfs/svc \ 853 gss/gssd \ 854 idmap/idmapd \ 855 krb5/kadmin/server \ 856 krb5/krb5kdc \ 857 krb5/kwarn \ 858 krb5/slave \ 859 lp/cmd/lpsched \ 860 lvm/rpc.metad \ 861 lvm/rpc.metamedd \ 862 lvm/rpc.metamhd \ 863 lvm/md_monitord \ 864 lvm/metassist/sysfiles \ 865 lvm/util \ 866 picl/picld \ 867 print/gateway \ 868 print/lp \ 869 rcap/rcapd \ 870 rpcsvc/rpc.bootparamd \ 871 sendmail/lib \ 872 smartcard/daemon \ 873 ssh/etc \ 874 svc/milestone \ 875 ypcmd/yppasswd \ 876 ypcmd/ypupdated \ 877 xntpd/xntpd 878 879DTEST_SUBDIRS= \ 880 dtrace/test/tst 881 882all := TARGET = all 883install := TARGET = install 884clean := TARGET = clean 885clobber := TARGET = clobber 886lint := TARGET = lint 887check := TARGET = check 888_msg := TARGET = _msg 889_dc := TARGET = _dc 890 891.KEEP_STATE: 892 893SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 894 895.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(BSMSUBDIRS) \ 896 $(MANIFEST_SUBDIRS) $(DTEST_SUBDIRS) 897 898all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) $(BSMSUBDIRS) 899 900check: svccfg_check .WAIT $(MANIFEST_TOPDIRS) $(MANIFEST_SUBDIRS) \ 901 $(DTEST_SUBDIRS) 902 903svccfg_check: 904 @$(ECHO) "building requirements for svccfg check ..."; \ 905 (cd $(SRC)/cmd/svc/svccfg && pwd && $(MAKE) $(MFLAGS) native) 906 907$(DTEST_SUBDIRS): FRC 908 @cd $@; pwd; $(MAKE) $(TARGET) 909 910# 911# The .WAIT directive works around an apparent bug in parallel make. 912# Evidently make was getting the target _msg vs. _dc confused under 913# some level of parallelization, causing some of the _dc objects 914# not to be built. 915# 916_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 917 918_dc: $(DCSUBDIRS) 919 920# 921# Dependencies 922# 923fs.d: fstyp 924 925$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(BSMSUBDIRS) $(MANIFEST_SUBDIRS): FRC 926 @if [ -f $@/Makefile ]; then \ 927 cd $@; pwd; $(MAKE) $(TARGET); \ 928 else \ 929 true; \ 930 fi 931 932FRC: 933