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