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 2010 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25 26include ../Makefile.master 27 28# 29# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in 30# the list, violating alphabetical order. This is because they are very 31# long-running and should be given the most wall-clock time for a 32# parallel build. 33# 34# Commands in the FIRST_SUBDIRS list are built before starting the build 35# of other commands. Currently this includes only 'isaexec' and 36# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 37# $(ROOT)/usr/lib/platexec must exist when some other commands are built 38# because their 'make install' creates a hard link to one of them. 39# 40# Commands are listed one per line so that TeamWare can auto-merge most 41# changes. 42# 43 44FIRST_SUBDIRS= \ 45 isaexec \ 46 platexec 47 48COMMON_SUBDIRS= \ 49 agents \ 50 availdevs \ 51 lp \ 52 perl \ 53 man \ 54 Adm \ 55 abi \ 56 adbgen \ 57 acct \ 58 acctadm \ 59 arch \ 60 asa \ 61 ast \ 62 audio \ 63 auths \ 64 autopush \ 65 avs \ 66 awk \ 67 awk_xpg4 \ 68 backup \ 69 banner \ 70 bart \ 71 basename \ 72 bc \ 73 bdiff \ 74 bfs \ 75 bnu \ 76 boot \ 77 busstat \ 78 cal \ 79 calendar \ 80 captoinfo \ 81 cat \ 82 cdrw \ 83 cfgadm \ 84 checkeq \ 85 checknr \ 86 chgrp \ 87 chmod \ 88 chown \ 89 chroot \ 90 clear \ 91 clinfo \ 92 cmd-crypto \ 93 cmd-inet \ 94 col \ 95 compress \ 96 consadm \ 97 coreadm \ 98 cpio \ 99 cpc \ 100 cron \ 101 crypt \ 102 csh \ 103 csplit \ 104 ctrun \ 105 ctstat \ 106 ctwatch \ 107 datadm \ 108 date \ 109 dc \ 110 dd \ 111 deroff \ 112 des \ 113 devfsadm \ 114 syseventd \ 115 devctl \ 116 devinfo \ 117 devmgmt \ 118 devprop \ 119 dfs.cmds \ 120 diff \ 121 diff3 \ 122 diffmk \ 123 dircmp \ 124 dirname \ 125 dis \ 126 diskmgtd \ 127 dispadmin \ 128 dladm \ 129 dlstat \ 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 flowstat \ 162 fm \ 163 fmli \ 164 fmt \ 165 fmthard \ 166 fmtmsg \ 167 fold \ 168 format \ 169 fs.d \ 170 fstyp \ 171 fuser \ 172 fwflash \ 173 gcore \ 174 gencat \ 175 geniconvtbl \ 176 genmsg \ 177 getconf \ 178 getdevpolicy \ 179 getent \ 180 getfacl \ 181 getmajor \ 182 getopt \ 183 gettext \ 184 gettxt \ 185 graph \ 186 grep \ 187 grep_xpg4 \ 188 groups \ 189 grpck \ 190 gss \ 191 hal \ 192 halt \ 193 head \ 194 hostid \ 195 hostname \ 196 hotplug \ 197 hotplugd \ 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 itutools \ 213 iscsiadm \ 214 iscsid \ 215 iscsitsvc \ 216 isns \ 217 itadm \ 218 java \ 219 kbd \ 220 keyserv \ 221 killall \ 222 krb5 \ 223 ksh \ 224 kstat \ 225 last \ 226 lastcomm \ 227 latencytop \ 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 look \ 245 ls \ 246 luxadm \ 247 lvm \ 248 mach \ 249 machid \ 250 mail \ 251 mailx \ 252 makekey \ 253 mdb \ 254 mesg \ 255 mkdir \ 256 mkfifo \ 257 mkfile \ 258 mkmsgs \ 259 mknod \ 260 mkpwdict \ 261 mktemp \ 262 mms \ 263 modload \ 264 more \ 265 mpathadm \ 266 msgfmt \ 267 msgid \ 268 mt \ 269 mv \ 270 mvdir \ 271 ndmpadm \ 272 ndmpd \ 273 ndmpstat \ 274 netadm \ 275 netfiles \ 276 newform \ 277 newgrp \ 278 news \ 279 newtask \ 280 nice \ 281 nl \ 282 nlsadmin \ 283 nohup \ 284 nsadmin \ 285 nscd \ 286 oamuser \ 287 oawk \ 288 pack \ 289 pagesize \ 290 passmgmt \ 291 passwd \ 292 pathchk \ 293 pbind \ 294 pcidr \ 295 pcitool \ 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 tzreload \ 416 uadmin \ 417 ul \ 418 uname \ 419 units \ 420 unlink \ 421 unpack \ 422 users \ 423 utmp_update \ 424 utmpd \ 425 valtools \ 426 vgrind \ 427 vi \ 428 volcheck \ 429 volrmmount \ 430 vrrpadm \ 431 vscan \ 432 vt \ 433 w \ 434 wall \ 435 wbem \ 436 which \ 437 who \ 438 whodo \ 439 wracct \ 440 write \ 441 wusbadm \ 442 xargs \ 443 xstr \ 444 yes \ 445 ypcmd \ 446 yppasswd \ 447 zdb \ 448 zdump \ 449 zfs \ 450 zic \ 451 zinject \ 452 zlogin \ 453 zoneadm \ 454 zoneadmd \ 455 zonecfg \ 456 zonename \ 457 zpool \ 458 zlook \ 459 zstreamdump \ 460 ztest 461 462$(CLOSED_BUILD)COMMON_SUBDIRS += \ 463 $(CLOSED)/cmd/iconv \ 464 $(CLOSED)/cmd/ksh \ 465 $(CLOSED)/cmd/llc2 \ 466 $(CLOSED)/cmd/localedef \ 467 $(CLOSED)/cmd/more_xpg4 \ 468 $(CLOSED)/cmd/mtst \ 469 $(CLOSED)/cmd/od \ 470 $(CLOSED)/cmd/patch \ 471 $(CLOSED)/cmd/pax \ 472 $(CLOSED)/cmd/printf \ 473 $(CLOSED)/cmd/sed \ 474 $(CLOSED)/cmd/sed_xpg4 \ 475ODE $(CLOSED)/cmd/tail \ 476 $(CLOSED)/cmd/tr_xpg4 477 478i386_SUBDIRS= \ 479 addbadsec \ 480 biosdev \ 481 diskscan \ 482 lms \ 483 ntfsprogs \ 484 parted \ 485 rtc \ 486 ucodeadm \ 487 xvm 488 489sparc_SUBDIRS= \ 490 cvcd \ 491 dcs \ 492 device_remap \ 493 drd \ 494 fps \ 495 fruadm \ 496 ldmad \ 497 oplhpd \ 498 prtdscp \ 499 prtfru \ 500 scadm \ 501 sckmd \ 502 sf880drd \ 503 virtinfo \ 504 vntsd 505 506# 507# Commands that are messaged. Note that 'lp' and 'man' come first 508# (see previous comment about 'lp' and 'man'). 509# 510MSGSUBDIRS= \ 511 lp \ 512 man \ 513 abi \ 514 acctadm \ 515 allocate \ 516 asa \ 517 audio \ 518 audit \ 519 auditd \ 520 auditrecord \ 521 auths \ 522 autopush \ 523 avs \ 524 awk \ 525 awk_xpg4 \ 526 backup \ 527 banner \ 528 bart \ 529 basename \ 530 bnu \ 531 bsmconv \ 532 bsmunconv \ 533 busstat \ 534 cal \ 535 cat \ 536 cdrw \ 537 cfgadm \ 538 checkeq \ 539 checknr \ 540 chgrp \ 541 chmod \ 542 chown \ 543 cmd-crypto \ 544 cmd-inet \ 545 col \ 546 compress \ 547 consadm \ 548 coreadm \ 549 cpio \ 550 cpc \ 551 cron \ 552 csh \ 553 csplit \ 554 ctrun \ 555 ctstat \ 556 ctwatch \ 557 datadm \ 558 date \ 559 dc \ 560 dcs \ 561 dd \ 562 deroff \ 563 devfsadm \ 564 dfs.cmds \ 565 diff \ 566 diffmk \ 567 dladm \ 568 dlstat \ 569 du \ 570 dumpcs \ 571 ed \ 572 eject \ 573 env \ 574 eqn \ 575 expand \ 576 expr \ 577 fcinfo \ 578 fgrep \ 579 file \ 580 filesync \ 581 find \ 582 flowadm \ 583 flowstat \ 584 fm \ 585 fold \ 586 fs.d \ 587 fwflash \ 588 geniconvtbl \ 589 genmsg \ 590 getconf \ 591 getent \ 592 gettext \ 593 gettxt \ 594 grep \ 595 grep_xpg4 \ 596 grpck \ 597 gss \ 598 halt \ 599 head \ 600 hostname \ 601 hotplug \ 602 id \ 603 idmap \ 604 isaexec \ 605 iscsiadm \ 606 iscsid \ 607 isns \ 608 itadm \ 609 kbd \ 610 krb5 \ 611 ksh \ 612 kstat \ 613 last \ 614 ldap \ 615 ldapcachemgr \ 616 lgrpinfo \ 617 locale \ 618 lofiadm \ 619 logadm \ 620 logger \ 621 logins \ 622 ls \ 623 luxadm \ 624 lvm \ 625 mailx \ 626 mesg \ 627 mkdir \ 628 mkpwdict \ 629 mktemp \ 630 more \ 631 mpathadm \ 632 msgfmt \ 633 mv \ 634 ndmpadm \ 635 ndmpstat \ 636 newgrp \ 637 newtask \ 638 nice \ 639 nohup \ 640 oawk \ 641 pack \ 642 passwd \ 643 passmgmt \ 644 pathchk \ 645 pfexec \ 646 pg \ 647 pgrep \ 648 picl \ 649 pools \ 650 power \ 651 pr \ 652 praudit \ 653 print \ 654 profiles \ 655 projadd \ 656 projects \ 657 prstat \ 658 prtdiag \ 659 ps \ 660 psrinfo \ 661 ptools \ 662 pwconv \ 663 pwd \ 664 pyzfs \ 665 raidctl \ 666 ramdiskadm \ 667 rcap \ 668 rcm_daemon \ 669 refer \ 670 regcmp \ 671 renice \ 672 roles \ 673 rm \ 674 rmdir \ 675 rmformat \ 676 rmmount \ 677 rmvolmgr \ 678 sasinfo \ 679 sbdadm \ 680 scadm \ 681 script \ 682 scsi \ 683 sdiff \ 684 sdpadm \ 685 sgs \ 686 sh \ 687 shcomp \ 688 smbsrv \ 689 sort \ 690 split \ 691 ssh \ 692 stat \ 693 stmfadm \ 694 stmsboot \ 695 strings \ 696 su \ 697 svc \ 698 svr4pkg \ 699 swap \ 700 syseventadm \ 701 syseventd \ 702 tabs \ 703 tar \ 704 tbl \ 705 time \ 706 tnf \ 707 touch \ 708 tput \ 709 troff \ 710 tsol \ 711 tty \ 712 ttymon \ 713 tzreload \ 714 ul \ 715 uname \ 716 units \ 717 unlink \ 718 unpack \ 719 valtools \ 720 vgrind \ 721 vi \ 722 volcheck \ 723 volrmmount \ 724 vrrpadm \ 725 vscan \ 726 w \ 727 wbem \ 728 who \ 729 whodo \ 730 wracct \ 731 write \ 732 wusbadm \ 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 virtinfo \ 765 vntsd 766 767i386_MSGSUBDIRS= \ 768 ucodeadm 769 770# 771# commands that use dcgettext for localized time, LC_TIME 772# 773DCSUBDIRS= \ 774 cal \ 775 cfgadm \ 776 diff \ 777 ls \ 778 pr \ 779 ps \ 780 tar \ 781 w \ 782 who \ 783 whodo \ 784 write 785 786$(CLOSED_BUILD)DCSUBDIRS += \ 787 $(CLOSED)/cmd/pax 788 789# 790# commands that belong only to audit and device allocation 791# 792AUDITSUBDIRS= \ 793 allocate \ 794 amt \ 795 audit \ 796 audit_warn \ 797 auditconfig \ 798 auditd \ 799 auditrecord \ 800 auditreduce \ 801 auditstat \ 802 praudit \ 803 bsmconv \ 804 bsmunconv 805 806# 807# commands not owned by the systems group 808# 809BWOSDIRS= 810 811 812all := TARGET = all 813install := TARGET = install 814clean := TARGET = clean 815clobber := TARGET = clobber 816lint := TARGET = lint 817_msg := TARGET = _msg 818_dc := TARGET = _dc 819 820.KEEP_STATE: 821 822SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 823 824.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 825 826all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 827 $(AUDITSUBDIRS) 828 829# 830# Manifests cannot be checked in parallel, because we are using 831# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 832# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 833# we spawn off a sub-make to perform the non-parallel 'make check' 834# 835check: 836 $(MAKE) -f Makefile.check check 837 838# 839# The .WAIT directive works around an apparent bug in parallel make. 840# Evidently make was getting the target _msg vs. _dc confused under 841# some level of parallelization, causing some of the _dc objects 842# not to be built. 843# 844_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 845 846_dc: $(DCSUBDIRS) 847 848# 849# Dependencies 850# 851fs.d: fstyp 852ksh: shcomp isaexec 853print: lp 854 855$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 856 @if [ -f $@/Makefile ]; then \ 857 cd $@; pwd; $(MAKE) $(TARGET); \ 858 else \ 859 true; \ 860 fi 861 862FRC: 863