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