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 dmesg \ 130 dodatadm \ 131 dtrace \ 132 du \ 133 dumpadm \ 134 dumpcs \ 135 echo \ 136 ed \ 137 eeprom \ 138 egrep \ 139 eject \ 140 emul64ioctl \ 141 enhance \ 142 env \ 143 eqn \ 144 expand \ 145 expr \ 146 exstr \ 147 factor \ 148 false \ 149 fcinfo \ 150 fcoesvc \ 151 fdetach \ 152 fdformat \ 153 fdisk \ 154 filesync \ 155 fgrep \ 156 file \ 157 filebench \ 158 find \ 159 flowadm \ 160 fm \ 161 fmli \ 162 fmt \ 163 fmthard \ 164 fmtmsg \ 165 fold \ 166 format \ 167 fs.d \ 168 fstyp \ 169 fuser \ 170 fwflash \ 171 gcore \ 172 gencat \ 173 geniconvtbl \ 174 genmsg \ 175 getconf \ 176 getdevpolicy \ 177 getent \ 178 getfacl \ 179 getmajor \ 180 getopt \ 181 gettext \ 182 gettxt \ 183 graph \ 184 grep \ 185 grep_xpg4 \ 186 groups \ 187 grpck \ 188 gss \ 189 hal \ 190 halt \ 191 head \ 192 hostid \ 193 hostname \ 194 hotplug \ 195 hotplugd \ 196 hwdata \ 197 id \ 198 idmap \ 199 infocmp \ 200 init \ 201 initpkg \ 202 install.d \ 203 intrd \ 204 intrstat \ 205 ipcrm \ 206 ipcs \ 207 ipf \ 208 isainfo \ 209 isalist \ 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 nl \ 280 nlsadmin \ 281 nohup \ 282 nsadmin \ 283 nscd \ 284 oamuser \ 285 oawk \ 286 pack \ 287 pagesize \ 288 passmgmt \ 289 passwd \ 290 pathchk \ 291 pbind \ 292 pcidr \ 293 pcitool \ 294 pfexec \ 295 pgrep \ 296 picl \ 297 plimit \ 298 policykit \ 299 pools \ 300 power \ 301 powertop \ 302 ppgsz \ 303 pg \ 304 plockstat \ 305 pr \ 306 prctl \ 307 print \ 308 priocntl \ 309 profiles \ 310 projadd \ 311 projects \ 312 prstat \ 313 prtconf \ 314 prtdiag \ 315 prtvtoc \ 316 ps \ 317 psradm \ 318 psrinfo \ 319 psrset \ 320 ptools \ 321 pwck \ 322 pwconv \ 323 pwd \ 324 pyzfs \ 325 raidctl \ 326 ramdiskadm \ 327 rcap \ 328 rcm_daemon \ 329 rctladm \ 330 refer \ 331 regcmp \ 332 renice \ 333 rexd \ 334 rm \ 335 rmdir \ 336 rmformat \ 337 rmmount \ 338 rmt \ 339 rmvolmgr \ 340 roles \ 341 rpcbind \ 342 rpcgen \ 343 rpcinfo \ 344 rpcsvc \ 345 runat \ 346 sa \ 347 saf \ 348 sasinfo \ 349 savecore \ 350 sbdadm \ 351 script \ 352 scsi \ 353 sdiff \ 354 sdpadm \ 355 sendmail \ 356 setfacl \ 357 setmnt \ 358 setpgrp \ 359 setuname \ 360 sgs \ 361 sh \ 362 shcomp \ 363 smbios \ 364 smbsrv \ 365 smserverd \ 366 soelim \ 367 sort \ 368 spell \ 369 spline \ 370 split \ 371 sqlite \ 372 srchtxt \ 373 srptsvc \ 374 ssh \ 375 stat \ 376 stmfadm \ 377 stmfproxy \ 378 stmfsvc \ 379 stmsboot \ 380 streams \ 381 strings \ 382 su \ 383 sulogin \ 384 sunpc \ 385 svc \ 386 svr4pkg \ 387 swap \ 388 sync \ 389 sysdef \ 390 syseventadm \ 391 syslogd \ 392 tabs \ 393 tar \ 394 tbl \ 395 tcopy \ 396 tcpd \ 397 terminfo \ 398 th_tools \ 399 tic \ 400 time \ 401 tip \ 402 tnf \ 403 touch \ 404 tplot \ 405 tput \ 406 trapstat \ 407 troff \ 408 true \ 409 truss \ 410 tsol \ 411 tty \ 412 ttymon \ 413 tzreload \ 414 uadmin \ 415 ul \ 416 uname \ 417 units \ 418 unlink \ 419 unpack \ 420 users \ 421 utmp_update \ 422 utmpd \ 423 valtools \ 424 vgrind \ 425 vi \ 426 volcheck \ 427 volrmmount \ 428 vrrpadm \ 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 virtinfo \ 502 vntsd 503 504# 505# Commands that are messaged. Note that 'lp' and 'man' come first 506# (see previous comment about 'lp' and 'man'). 507# 508MSGSUBDIRS= \ 509 lp \ 510 man \ 511 abi \ 512 acctadm \ 513 allocate \ 514 asa \ 515 audio \ 516 audit \ 517 auditd \ 518 auditrecord \ 519 auths \ 520 autopush \ 521 avs \ 522 awk \ 523 awk_xpg4 \ 524 backup \ 525 banner \ 526 bart \ 527 basename \ 528 bnu \ 529 bsmconv \ 530 bsmunconv \ 531 busstat \ 532 cal \ 533 cat \ 534 cdrw \ 535 cfgadm \ 536 checkeq \ 537 checknr \ 538 chgrp \ 539 chmod \ 540 chown \ 541 cmd-crypto \ 542 cmd-inet \ 543 col \ 544 compress \ 545 consadm \ 546 coreadm \ 547 cpio \ 548 cpc \ 549 cron \ 550 csh \ 551 csplit \ 552 ctrun \ 553 ctstat \ 554 ctwatch \ 555 datadm \ 556 date \ 557 dc \ 558 dcs \ 559 dd \ 560 deroff \ 561 devfsadm \ 562 dfs.cmds \ 563 diff \ 564 diffmk \ 565 dladm \ 566 du \ 567 dumpcs \ 568 ed \ 569 eject \ 570 env \ 571 eqn \ 572 expand \ 573 expr \ 574 fcinfo \ 575 fgrep \ 576 file \ 577 filesync \ 578 find \ 579 flowadm \ 580 fm \ 581 fold \ 582 fs.d \ 583 fwflash \ 584 geniconvtbl \ 585 genmsg \ 586 getconf \ 587 getent \ 588 gettext \ 589 gettxt \ 590 grep \ 591 grep_xpg4 \ 592 grpck \ 593 gss \ 594 halt \ 595 head \ 596 hostname \ 597 hotplug \ 598 id \ 599 idmap \ 600 isaexec \ 601 iscsiadm \ 602 iscsid \ 603 isns \ 604 itadm \ 605 kbd \ 606 krb5 \ 607 ksh \ 608 kstat \ 609 last \ 610 ldap \ 611 ldapcachemgr \ 612 lgrpinfo \ 613 locale \ 614 lofiadm \ 615 logadm \ 616 logger \ 617 logins \ 618 ls \ 619 luxadm \ 620 lvm \ 621 mailx \ 622 mesg \ 623 mkdir \ 624 mkpwdict \ 625 mktemp \ 626 more \ 627 mpathadm \ 628 msgfmt \ 629 mv \ 630 ndmpadm \ 631 ndmpstat \ 632 newgrp \ 633 newtask \ 634 nice \ 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 smbsrv \ 685 sort \ 686 split \ 687 ssh \ 688 stat \ 689 stmfadm \ 690 stmsboot \ 691 strings \ 692 su \ 693 svc \ 694 svr4pkg \ 695 swap \ 696 syseventadm \ 697 syseventd \ 698 tabs \ 699 tar \ 700 tbl \ 701 time \ 702 tnf \ 703 touch \ 704 tput \ 705 troff \ 706 tsol \ 707 tty \ 708 ttymon \ 709 tzreload \ 710 ul \ 711 uname \ 712 units \ 713 unlink \ 714 unpack \ 715 valtools \ 716 vgrind \ 717 vi \ 718 volcheck \ 719 volrmmount \ 720 vrrpadm \ 721 vscan \ 722 w \ 723 wbem \ 724 who \ 725 whodo \ 726 wracct \ 727 write \ 728 wusbadm \ 729 xargs \ 730 yppasswd \ 731 zdump \ 732 zfs \ 733 zic \ 734 zlogin \ 735 zoneadm \ 736 zoneadmd \ 737 zonecfg \ 738 zonename \ 739 zpool 740 741$(CLOSED_BUILD)MSGSUBDIRS += \ 742 $(CLOSED)/cmd/iconv \ 743 $(CLOSED)/cmd/ksh \ 744 $(CLOSED)/cmd/llc2 \ 745 $(CLOSED)/cmd/localedef \ 746 $(CLOSED)/cmd/more_xpg4 \ 747 $(CLOSED)/cmd/od \ 748 $(CLOSED)/cmd/patch \ 749 $(CLOSED)/cmd/pax \ 750 $(CLOSED)/cmd/printf \ 751 $(CLOSED)/cmd/sed \ 752 $(CLOSED)/cmd/sed_xpg4 \ 753 $(CLOSED)/cmd/tail \ 754 $(CLOSED)/cmd/tr_xpg4 755 756sparc_MSGSUBDIRS= \ 757 fruadm \ 758 prtdscp \ 759 prtfru \ 760 virtinfo \ 761 vntsd 762 763i386_MSGSUBDIRS= \ 764 ucodeadm 765 766# 767# commands that use dcgettext for localized time, LC_TIME 768# 769DCSUBDIRS= \ 770 cal \ 771 cfgadm \ 772 diff \ 773 ls \ 774 pr \ 775 ps \ 776 tar \ 777 w \ 778 who \ 779 whodo \ 780 write 781 782$(CLOSED_BUILD)DCSUBDIRS += \ 783 $(CLOSED)/cmd/pax 784 785# 786# commands that belong only to audit and device allocation 787# 788AUDITSUBDIRS= \ 789 allocate \ 790 amt \ 791 audit \ 792 audit_warn \ 793 auditconfig \ 794 auditd \ 795 auditrecord \ 796 auditreduce \ 797 auditstat \ 798 praudit \ 799 bsmconv \ 800 bsmunconv 801 802# 803# commands not owned by the systems group 804# 805BWOSDIRS= 806 807 808all := TARGET = all 809install := TARGET = install 810clean := TARGET = clean 811clobber := TARGET = clobber 812lint := TARGET = lint 813_msg := TARGET = _msg 814_dc := TARGET = _dc 815 816.KEEP_STATE: 817 818SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 819 820.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 821 822all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 823 $(AUDITSUBDIRS) 824 825# 826# Manifests cannot be checked in parallel, because we are using 827# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 828# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 829# we spawn off a sub-make to perform the non-parallel 'make check' 830# 831check: 832 $(MAKE) -f Makefile.check check 833 834# 835# The .WAIT directive works around an apparent bug in parallel make. 836# Evidently make was getting the target _msg vs. _dc confused under 837# some level of parallelization, causing some of the _dc objects 838# not to be built. 839# 840_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 841 842_dc: $(DCSUBDIRS) 843 844# 845# Dependencies 846# 847fs.d: fstyp 848ksh: shcomp isaexec 849print: lp 850 851$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 852 @if [ -f $@/Makefile ]; then \ 853 cd $@; pwd; $(MAKE) $(TARGET); \ 854 else \ 855 true; \ 856 fi 857 858FRC: 859