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