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