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