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 (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 23 24include ../Makefile.master 25 26# 27# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in 28# the list, violating alphabetical order. This is because they are very 29# long-running and should be given the most wall-clock time for a 30# parallel build. 31# 32# Commands in the FIRST_SUBDIRS list are built before starting the build 33# of other commands. Currently this includes only 'isaexec' and 34# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 35# $(ROOT)/usr/lib/platexec must exist when some other commands are built 36# because their 'make install' creates a hard link to one of them. 37# 38# Commands are listed one per line so that TeamWare can auto-merge most 39# changes. 40# 41 42FIRST_SUBDIRS= \ 43 isaexec \ 44 platexec 45 46COMMON_SUBDIRS= \ 47 agents \ 48 allocate \ 49 availdevs \ 50 lp \ 51 perl \ 52 man \ 53 Adm \ 54 abi \ 55 adbgen \ 56 acct \ 57 acctadm \ 58 arch \ 59 asa \ 60 ast \ 61 audio \ 62 auths \ 63 autopush \ 64 avs \ 65 awk \ 66 awk_xpg4 \ 67 backup \ 68 banner \ 69 bart \ 70 basename \ 71 bc \ 72 bdiff \ 73 beadm \ 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 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 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 ibd_upgrade \ 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 itutools \ 212 iscsiadm \ 213 iscsid \ 214 iscsitsvc \ 215 isns \ 216 itadm \ 217 java \ 218 kbd \ 219 keyserv \ 220 killall \ 221 krb5 \ 222 ksh \ 223 kstat \ 224 last \ 225 lastcomm \ 226 latencytop \ 227 ldap \ 228 ldapcachemgr \ 229 lgrpinfo \ 230 line \ 231 link \ 232 dlmgmtd \ 233 listen \ 234 loadkeys \ 235 locale \ 236 lockstat \ 237 locator \ 238 lofiadm \ 239 logadm \ 240 logger \ 241 login \ 242 logins \ 243 look \ 244 ls \ 245 luxadm \ 246 lvm \ 247 mach \ 248 machid \ 249 mail \ 250 mailx \ 251 makekey \ 252 mdb \ 253 mesg \ 254 mkdir \ 255 mkfifo \ 256 mkfile \ 257 mkmsgs \ 258 mknod \ 259 mkpwdict \ 260 mktemp \ 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 pfexecd \ 296 pgrep \ 297 picl \ 298 plimit \ 299 policykit \ 300 pools \ 301 power \ 302 powertop \ 303 ppgsz \ 304 pg \ 305 plockstat \ 306 pr \ 307 prctl \ 308 print \ 309 priocntl \ 310 profiles \ 311 projadd \ 312 projects \ 313 prstat \ 314 prtconf \ 315 prtdiag \ 316 prtvtoc \ 317 ps \ 318 psradm \ 319 psrinfo \ 320 psrset \ 321 ptools \ 322 pwck \ 323 pwconv \ 324 pwd \ 325 pyzfs \ 326 raidctl \ 327 ramdiskadm \ 328 rcap \ 329 rcm_daemon \ 330 rctladm \ 331 refer \ 332 regcmp \ 333 renice \ 334 rexd \ 335 rm \ 336 rmdir \ 337 rmformat \ 338 rmmount \ 339 rmt \ 340 rmvolmgr \ 341 roles \ 342 rpcbind \ 343 rpcgen \ 344 rpcinfo \ 345 rpcsvc \ 346 runat \ 347 sa \ 348 saf \ 349 sasinfo \ 350 savecore \ 351 sbdadm \ 352 script \ 353 scsi \ 354 sdiff \ 355 sdpadm \ 356 sendmail \ 357 setfacl \ 358 setmnt \ 359 setpgrp \ 360 setuname \ 361 sgs \ 362 sh \ 363 shcomp \ 364 smbios \ 365 smbsrv \ 366 smserverd \ 367 soelim \ 368 sort \ 369 spell \ 370 split \ 371 sqlite \ 372 srchtxt \ 373 srptadm \ 374 srptsvc \ 375 ssh \ 376 stat \ 377 stmfadm \ 378 stmfproxy \ 379 stmfsvc \ 380 stmsboot \ 381 streams \ 382 strings \ 383 su \ 384 sulogin \ 385 sunpc \ 386 svc \ 387 svr4pkg \ 388 swap \ 389 sync \ 390 sysdef \ 391 syseventadm \ 392 syslogd \ 393 tabs \ 394 tar \ 395 tbl \ 396 tcopy \ 397 tcpd \ 398 terminfo \ 399 th_tools \ 400 tic \ 401 time \ 402 tip \ 403 tnf \ 404 touch \ 405 tplot \ 406 tput \ 407 trapstat \ 408 troff \ 409 true \ 410 truss \ 411 tsol \ 412 tty \ 413 ttymon \ 414 tzreload \ 415 uadmin \ 416 ul \ 417 uname \ 418 units \ 419 unlink \ 420 unpack \ 421 userattr \ 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 zonestat \ 460 zstreamdump \ 461 ztest 462 463$(CLOSED_BUILD)COMMON_SUBDIRS += \ 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/printf \ 474 $(CLOSED)/cmd/sed \ 475 $(CLOSED)/cmd/sed_xpg4 \ 476 $(CLOSED)/cmd/tail \ 477 $(CLOSED)/cmd/tr_xpg4 478 479i386_SUBDIRS= \ 480 acpihpd \ 481 addbadsec \ 482 biosdev \ 483 diskscan \ 484 lms \ 485 ntfsprogs \ 486 parted \ 487 rtc \ 488 ucodeadm \ 489 xvm 490 491sparc_SUBDIRS= \ 492 cvcd \ 493 dcs \ 494 device_remap \ 495 drd \ 496 fps \ 497 fruadm \ 498 ldmad \ 499 oplhpd \ 500 prtdscp \ 501 prtfru \ 502 scadm \ 503 sckmd \ 504 sf880drd \ 505 virtinfo \ 506 vntsd 507 508# 509# Commands that are messaged. Note that 'lp' and 'man' come first 510# (see previous comment about 'lp' and 'man'). 511# 512MSGSUBDIRS= \ 513 lp \ 514 man \ 515 abi \ 516 acctadm \ 517 allocate \ 518 asa \ 519 audio \ 520 audit \ 521 auditconfig \ 522 auditd \ 523 auditrecord \ 524 auditset \ 525 auths \ 526 autopush \ 527 avs \ 528 awk \ 529 awk_xpg4 \ 530 backup \ 531 banner \ 532 bart \ 533 basename \ 534 beadm \ 535 bnu \ 536 busstat \ 537 cal \ 538 cat \ 539 cdrw \ 540 cfgadm \ 541 checkeq \ 542 checknr \ 543 chgrp \ 544 chmod \ 545 chown \ 546 cmd-crypto \ 547 cmd-inet \ 548 col \ 549 compress \ 550 consadm \ 551 coreadm \ 552 cpio \ 553 cpc \ 554 cron \ 555 csh \ 556 csplit \ 557 ctrun \ 558 ctstat \ 559 ctwatch \ 560 datadm \ 561 date \ 562 dc \ 563 dcs \ 564 dd \ 565 deroff \ 566 devfsadm \ 567 dfs.cmds \ 568 diff \ 569 diffmk \ 570 dladm \ 571 dlstat \ 572 du \ 573 dumpcs \ 574 ed \ 575 eject \ 576 env \ 577 eqn \ 578 expand \ 579 expr \ 580 fcinfo \ 581 fgrep \ 582 file \ 583 filesync \ 584 find \ 585 flowadm \ 586 flowstat \ 587 fm \ 588 fold \ 589 fs.d \ 590 fwflash \ 591 geniconvtbl \ 592 genmsg \ 593 getconf \ 594 getent \ 595 gettext \ 596 gettxt \ 597 grep \ 598 grep_xpg4 \ 599 grpck \ 600 gss \ 601 halt \ 602 head \ 603 hostname \ 604 hotplug \ 605 id \ 606 idmap \ 607 isaexec \ 608 iscsiadm \ 609 iscsid \ 610 isns \ 611 itadm \ 612 kbd \ 613 krb5 \ 614 ksh \ 615 kstat \ 616 last \ 617 ldap \ 618 ldapcachemgr \ 619 lgrpinfo \ 620 locale \ 621 lofiadm \ 622 logadm \ 623 logger \ 624 logins \ 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 nohup \ 643 oawk \ 644 pack \ 645 passwd \ 646 passmgmt \ 647 pathchk \ 648 pfexec \ 649 pg \ 650 pgrep \ 651 picl \ 652 pools \ 653 power \ 654 pr \ 655 praudit \ 656 print \ 657 profiles \ 658 projadd \ 659 projects \ 660 prstat \ 661 prtdiag \ 662 ps \ 663 psrinfo \ 664 ptools \ 665 pwconv \ 666 pwd \ 667 pyzfs \ 668 raidctl \ 669 ramdiskadm \ 670 rcap \ 671 rcm_daemon \ 672 refer \ 673 regcmp \ 674 renice \ 675 roles \ 676 rm \ 677 rmdir \ 678 rmformat \ 679 rmmount \ 680 rmvolmgr \ 681 sasinfo \ 682 sbdadm \ 683 scadm \ 684 script \ 685 scsi \ 686 sdiff \ 687 sdpadm \ 688 sgs \ 689 sh \ 690 shcomp \ 691 smbsrv \ 692 sort \ 693 split \ 694 srptadm \ 695 ssh \ 696 stat \ 697 stmfadm \ 698 stmsboot \ 699 strings \ 700 su \ 701 svc \ 702 svr4pkg \ 703 swap \ 704 syseventadm \ 705 syseventd \ 706 tabs \ 707 tar \ 708 tbl \ 709 time \ 710 tnf \ 711 touch \ 712 tput \ 713 troff \ 714 tsol \ 715 tty \ 716 ttymon \ 717 tzreload \ 718 ul \ 719 uname \ 720 units \ 721 unlink \ 722 unpack \ 723 userattr \ 724 valtools \ 725 vgrind \ 726 vi \ 727 volcheck \ 728 volrmmount \ 729 vrrpadm \ 730 vscan \ 731 w \ 732 wbem \ 733 who \ 734 whodo \ 735 wracct \ 736 write \ 737 wusbadm \ 738 xargs \ 739 yppasswd \ 740 zdump \ 741 zfs \ 742 zic \ 743 zlogin \ 744 zoneadm \ 745 zoneadmd \ 746 zonecfg \ 747 zonename \ 748 zpool \ 749 zonestat 750 751$(CLOSED_BUILD)MSGSUBDIRS += \ 752 $(CLOSED)/cmd/iconv \ 753 $(CLOSED)/cmd/ksh \ 754 $(CLOSED)/cmd/llc2 \ 755 $(CLOSED)/cmd/localedef \ 756 $(CLOSED)/cmd/more_xpg4 \ 757 $(CLOSED)/cmd/od \ 758 $(CLOSED)/cmd/patch \ 759 $(CLOSED)/cmd/pax \ 760 $(CLOSED)/cmd/printf \ 761 $(CLOSED)/cmd/sed \ 762 $(CLOSED)/cmd/sed_xpg4 \ 763 $(CLOSED)/cmd/tail \ 764 $(CLOSED)/cmd/tr_xpg4 765 766sparc_MSGSUBDIRS= \ 767 fruadm \ 768 prtdscp \ 769 prtfru \ 770 virtinfo \ 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. 797# 798AUDITSUBDIRS= \ 799 amt \ 800 audit \ 801 audit_warn \ 802 auditconfig \ 803 auditd \ 804 auditrecord \ 805 auditreduce \ 806 auditset \ 807 auditstat \ 808 praudit 809 810# 811# commands not owned by the systems group 812# 813BWOSDIRS= 814 815 816all := TARGET = all 817install := TARGET = install 818clean := TARGET = clean 819clobber := TARGET = clobber 820lint := TARGET = lint 821_msg := TARGET = _msg 822_dc := TARGET = _dc 823 824.KEEP_STATE: 825 826SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 827 828.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 829 830all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 831 $(AUDITSUBDIRS) 832 833# 834# Manifests cannot be checked in parallel, because we are using 835# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 836# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 837# we spawn off a sub-make to perform the non-parallel 'make check' 838# 839check: 840 $(MAKE) -f Makefile.check check 841 842# 843# The .WAIT directive works around an apparent bug in parallel make. 844# Evidently make was getting the target _msg vs. _dc confused under 845# some level of parallelization, causing some of the _dc objects 846# not to be built. 847# 848_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 849 850_dc: $(DCSUBDIRS) 851 852# 853# Dependencies 854# 855fs.d: fstyp 856ksh: shcomp isaexec 857print: lp 858 859$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 860 @if [ -f $@/Makefile ]; then \ 861 cd $@; pwd; $(MAKE) $(TARGET); \ 862 else \ 863 true; \ 864 fi 865 866FRC: 867