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