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