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