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 availdevs \ 49 lp \ 50 perl \ 51 man \ 52 Adm \ 53 abi \ 54 adbgen \ 55 acct \ 56 acctadm \ 57 arch \ 58 asa \ 59 ast \ 60 audio \ 61 auths \ 62 autopush \ 63 avs \ 64 awk \ 65 awk_xpg4 \ 66 backup \ 67 banner \ 68 bart \ 69 basename \ 70 bc \ 71 bdiff \ 72 bfs \ 73 bnu \ 74 boot \ 75 busstat \ 76 cal \ 77 calendar \ 78 captoinfo \ 79 cat \ 80 cdrw \ 81 cfgadm \ 82 checkeq \ 83 checknr \ 84 chgrp \ 85 chmod \ 86 chown \ 87 chroot \ 88 clear \ 89 clinfo \ 90 cmd-crypto \ 91 cmd-inet \ 92 col \ 93 compress \ 94 consadm \ 95 coreadm \ 96 cpio \ 97 cpc \ 98 cron \ 99 crypt \ 100 csh \ 101 csplit \ 102 ctrun \ 103 ctstat \ 104 ctwatch \ 105 datadm \ 106 date \ 107 dc \ 108 dd \ 109 deroff \ 110 des \ 111 devfsadm \ 112 syseventd \ 113 devctl \ 114 devinfo \ 115 devmgmt \ 116 devprop \ 117 dfs.cmds \ 118 diff \ 119 diff3 \ 120 diffmk \ 121 dircmp \ 122 dirname \ 123 dis \ 124 diskmgtd \ 125 dispadmin \ 126 dladm \ 127 dlstat \ 128 dmesg \ 129 dodatadm \ 130 dtrace \ 131 du \ 132 dumpadm \ 133 dumpcs \ 134 echo \ 135 ed \ 136 eeprom \ 137 egrep \ 138 eject \ 139 emul64ioctl \ 140 enhance \ 141 env \ 142 eqn \ 143 expand \ 144 expr \ 145 exstr \ 146 factor \ 147 false \ 148 fcinfo \ 149 fcoesvc \ 150 fdetach \ 151 fdformat \ 152 fdisk \ 153 filesync \ 154 fgrep \ 155 file \ 156 filebench \ 157 find \ 158 flowadm \ 159 flowstat \ 160 fm \ 161 fmt \ 162 fmthard \ 163 fmtmsg \ 164 fold \ 165 format \ 166 fs.d \ 167 fstyp \ 168 fuser \ 169 fwflash \ 170 gcore \ 171 gencat \ 172 geniconvtbl \ 173 genmsg \ 174 getconf \ 175 getdevpolicy \ 176 getent \ 177 getfacl \ 178 getmajor \ 179 getopt \ 180 gettext \ 181 gettxt \ 182 grep \ 183 grep_xpg4 \ 184 groups \ 185 grpck \ 186 gss \ 187 hal \ 188 halt \ 189 head \ 190 hostid \ 191 hostname \ 192 hotplug \ 193 hotplugd \ 194 hwdata \ 195 ibd_upgrade \ 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 itutools \ 210 iscsiadm \ 211 iscsid \ 212 iscsitsvc \ 213 isns \ 214 itadm \ 215 java \ 216 kbd \ 217 keyserv \ 218 killall \ 219 krb5 \ 220 ksh \ 221 kstat \ 222 last \ 223 lastcomm \ 224 latencytop \ 225 ldap \ 226 ldapcachemgr \ 227 lgrpinfo \ 228 line \ 229 link \ 230 dlmgmtd \ 231 listen \ 232 loadkeys \ 233 locale \ 234 lockstat \ 235 locator \ 236 lofiadm \ 237 logadm \ 238 logger \ 239 login \ 240 logins \ 241 look \ 242 ls \ 243 luxadm \ 244 lvm \ 245 mach \ 246 machid \ 247 mail \ 248 mailx \ 249 makekey \ 250 mdb \ 251 mesg \ 252 mkdir \ 253 mkfifo \ 254 mkfile \ 255 mkmsgs \ 256 mknod \ 257 mkpwdict \ 258 mktemp \ 259 modload \ 260 more \ 261 mpathadm \ 262 msgfmt \ 263 msgid \ 264 mt \ 265 mv \ 266 mvdir \ 267 ndmpadm \ 268 ndmpd \ 269 ndmpstat \ 270 netadm \ 271 netfiles \ 272 newform \ 273 newgrp \ 274 news \ 275 newtask \ 276 nice \ 277 nl \ 278 nlsadmin \ 279 nohup \ 280 nsadmin \ 281 nscd \ 282 oamuser \ 283 oawk \ 284 pack \ 285 pagesize \ 286 passmgmt \ 287 passwd \ 288 pathchk \ 289 pbind \ 290 pcidr \ 291 pcitool \ 292 pfexec \ 293 pfexecd \ 294 pgrep \ 295 picl \ 296 plimit \ 297 policykit \ 298 pools \ 299 power \ 300 powertop \ 301 ppgsz \ 302 pg \ 303 plockstat \ 304 pr \ 305 prctl \ 306 print \ 307 priocntl \ 308 profiles \ 309 projadd \ 310 projects \ 311 prstat \ 312 prtconf \ 313 prtdiag \ 314 prtvtoc \ 315 ps \ 316 psradm \ 317 psrinfo \ 318 psrset \ 319 ptools \ 320 pwck \ 321 pwconv \ 322 pwd \ 323 pyzfs \ 324 raidctl \ 325 ramdiskadm \ 326 rcap \ 327 rcm_daemon \ 328 rctladm \ 329 refer \ 330 regcmp \ 331 renice \ 332 rexd \ 333 rm \ 334 rmdir \ 335 rmformat \ 336 rmmount \ 337 rmt \ 338 rmvolmgr \ 339 roles \ 340 rpcbind \ 341 rpcgen \ 342 rpcinfo \ 343 rpcsvc \ 344 runat \ 345 sa \ 346 saf \ 347 sasinfo \ 348 savecore \ 349 sbdadm \ 350 script \ 351 scsi \ 352 sdiff \ 353 sdpadm \ 354 sendmail \ 355 setfacl \ 356 setmnt \ 357 setpgrp \ 358 setuname \ 359 sgs \ 360 sh \ 361 shcomp \ 362 smbios \ 363 smbsrv \ 364 smserverd \ 365 soelim \ 366 sort \ 367 spell \ 368 split \ 369 sqlite \ 370 srchtxt \ 371 srptadm \ 372 srptsvc \ 373 ssh \ 374 stat \ 375 stmfadm \ 376 stmfproxy \ 377 stmfsvc \ 378 stmsboot \ 379 streams \ 380 strings \ 381 su \ 382 sulogin \ 383 sunpc \ 384 svc \ 385 svr4pkg \ 386 swap \ 387 sync \ 388 sysdef \ 389 syseventadm \ 390 syslogd \ 391 tabs \ 392 tar \ 393 tbl \ 394 tcopy \ 395 tcpd \ 396 terminfo \ 397 th_tools \ 398 tic \ 399 time \ 400 tip \ 401 tnf \ 402 touch \ 403 tplot \ 404 tput \ 405 trapstat \ 406 troff \ 407 true \ 408 truss \ 409 tsol \ 410 tty \ 411 ttymon \ 412 tzreload \ 413 uadmin \ 414 ul \ 415 uname \ 416 units \ 417 unlink \ 418 unpack \ 419 userattr \ 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 \ 473 $(CLOSED)/cmd/tail \ 474 $(CLOSED)/cmd/tr_xpg4 475 476i386_SUBDIRS= \ 477 acpihpd \ 478 addbadsec \ 479 biosdev \ 480 diskscan \ 481 lms \ 482 ntfsprogs \ 483 parted \ 484 rtc \ 485 ucodeadm \ 486 xvm 487 488sparc_SUBDIRS= \ 489 cvcd \ 490 dcs \ 491 device_remap \ 492 drd \ 493 fps \ 494 fruadm \ 495 ldmad \ 496 oplhpd \ 497 prtdscp \ 498 prtfru \ 499 scadm \ 500 sckmd \ 501 sf880drd \ 502 virtinfo \ 503 vntsd 504 505# 506# Commands that are messaged. Note that 'lp' and 'man' come first 507# (see previous comment about 'lp' and 'man'). 508# 509MSGSUBDIRS= \ 510 lp \ 511 man \ 512 abi \ 513 acctadm \ 514 allocate \ 515 asa \ 516 audio \ 517 audit \ 518 auditconfig \ 519 auditd \ 520 auditrecord \ 521 auditset \ 522 auths \ 523 autopush \ 524 avs \ 525 awk \ 526 awk_xpg4 \ 527 backup \ 528 banner \ 529 bart \ 530 basename \ 531 bnu \ 532 bsmconv \ 533 bsmunconv \ 534 busstat \ 535 cal \ 536 cat \ 537 cdrw \ 538 cfgadm \ 539 checkeq \ 540 checknr \ 541 chgrp \ 542 chmod \ 543 chown \ 544 cmd-crypto \ 545 cmd-inet \ 546 col \ 547 compress \ 548 consadm \ 549 coreadm \ 550 cpio \ 551 cpc \ 552 cron \ 553 csh \ 554 csplit \ 555 ctrun \ 556 ctstat \ 557 ctwatch \ 558 datadm \ 559 date \ 560 dc \ 561 dcs \ 562 dd \ 563 deroff \ 564 devfsadm \ 565 dfs.cmds \ 566 diff \ 567 diffmk \ 568 dladm \ 569 dlstat \ 570 du \ 571 dumpcs \ 572 ed \ 573 eject \ 574 env \ 575 eqn \ 576 expand \ 577 expr \ 578 fcinfo \ 579 fgrep \ 580 file \ 581 filesync \ 582 find \ 583 flowadm \ 584 flowstat \ 585 fm \ 586 fold \ 587 fs.d \ 588 fwflash \ 589 geniconvtbl \ 590 genmsg \ 591 getconf \ 592 getent \ 593 gettext \ 594 gettxt \ 595 grep \ 596 grep_xpg4 \ 597 grpck \ 598 gss \ 599 halt \ 600 head \ 601 hostname \ 602 hotplug \ 603 id \ 604 idmap \ 605 isaexec \ 606 iscsiadm \ 607 iscsid \ 608 isns \ 609 itadm \ 610 kbd \ 611 krb5 \ 612 ksh \ 613 kstat \ 614 last \ 615 ldap \ 616 ldapcachemgr \ 617 lgrpinfo \ 618 locale \ 619 lofiadm \ 620 logadm \ 621 logger \ 622 logins \ 623 ls \ 624 luxadm \ 625 lvm \ 626 mailx \ 627 mesg \ 628 mkdir \ 629 mkpwdict \ 630 mktemp \ 631 more \ 632 mpathadm \ 633 msgfmt \ 634 mv \ 635 ndmpadm \ 636 ndmpstat \ 637 newgrp \ 638 newtask \ 639 nice \ 640 nohup \ 641 oawk \ 642 pack \ 643 passwd \ 644 passmgmt \ 645 pathchk \ 646 pfexec \ 647 pg \ 648 pgrep \ 649 picl \ 650 pools \ 651 power \ 652 pr \ 653 praudit \ 654 print \ 655 profiles \ 656 projadd \ 657 projects \ 658 prstat \ 659 prtdiag \ 660 ps \ 661 psrinfo \ 662 ptools \ 663 pwconv \ 664 pwd \ 665 pyzfs \ 666 raidctl \ 667 ramdiskadm \ 668 rcap \ 669 rcm_daemon \ 670 refer \ 671 regcmp \ 672 renice \ 673 roles \ 674 rm \ 675 rmdir \ 676 rmformat \ 677 rmmount \ 678 rmvolmgr \ 679 sasinfo \ 680 sbdadm \ 681 scadm \ 682 script \ 683 scsi \ 684 sdiff \ 685 sdpadm \ 686 sgs \ 687 sh \ 688 shcomp \ 689 smbsrv \ 690 sort \ 691 split \ 692 srptadm \ 693 ssh \ 694 stat \ 695 stmfadm \ 696 stmsboot \ 697 strings \ 698 su \ 699 svc \ 700 svr4pkg \ 701 swap \ 702 syseventadm \ 703 syseventd \ 704 tabs \ 705 tar \ 706 tbl \ 707 time \ 708 tnf \ 709 touch \ 710 tput \ 711 troff \ 712 tsol \ 713 tty \ 714 ttymon \ 715 tzreload \ 716 ul \ 717 uname \ 718 units \ 719 unlink \ 720 unpack \ 721 userattr \ 722 valtools \ 723 vgrind \ 724 vi \ 725 volcheck \ 726 volrmmount \ 727 vrrpadm \ 728 vscan \ 729 w \ 730 wbem \ 731 who \ 732 whodo \ 733 wracct \ 734 write \ 735 wusbadm \ 736 xargs \ 737 yppasswd \ 738 zdump \ 739 zfs \ 740 zic \ 741 zlogin \ 742 zoneadm \ 743 zoneadmd \ 744 zonecfg \ 745 zonename \ 746 zpool 747 748$(CLOSED_BUILD)MSGSUBDIRS += \ 749 $(CLOSED)/cmd/iconv \ 750 $(CLOSED)/cmd/ksh \ 751 $(CLOSED)/cmd/llc2 \ 752 $(CLOSED)/cmd/localedef \ 753 $(CLOSED)/cmd/more_xpg4 \ 754 $(CLOSED)/cmd/od \ 755 $(CLOSED)/cmd/patch \ 756 $(CLOSED)/cmd/pax \ 757 $(CLOSED)/cmd/printf \ 758 $(CLOSED)/cmd/sed \ 759 $(CLOSED)/cmd/sed_xpg4 \ 760 $(CLOSED)/cmd/tail \ 761 $(CLOSED)/cmd/tr_xpg4 762 763sparc_MSGSUBDIRS= \ 764 fruadm \ 765 prtdscp \ 766 prtfru \ 767 virtinfo \ 768 vntsd 769 770i386_MSGSUBDIRS= \ 771 ucodeadm 772 773# 774# commands that use dcgettext for localized time, LC_TIME 775# 776DCSUBDIRS= \ 777 cal \ 778 cfgadm \ 779 diff \ 780 ls \ 781 pr \ 782 ps \ 783 tar \ 784 w \ 785 who \ 786 whodo \ 787 write 788 789$(CLOSED_BUILD)DCSUBDIRS += \ 790 $(CLOSED)/cmd/pax 791 792# 793# commands that belong only to audit and device allocation 794# 795AUDITSUBDIRS= \ 796 allocate \ 797 amt \ 798 audit \ 799 audit_warn \ 800 auditconfig \ 801 auditd \ 802 auditrecord \ 803 auditreduce \ 804 auditset \ 805 auditstat \ 806 praudit \ 807 bsmconv \ 808 bsmunconv 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