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