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