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