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