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