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 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 clear \ 92 clinfo \ 93 cmd-crypto \ 94 cmd-inet \ 95 col \ 96 compress \ 97 consadm \ 98 coreadm \ 99 cpio \ 100 cpc \ 101 cron \ 102 crypt \ 103 csh \ 104 csplit \ 105 ctrun \ 106 ctstat \ 107 ctwatch \ 108 datadm \ 109 date \ 110 dc \ 111 dd \ 112 deroff \ 113 des \ 114 devfsadm \ 115 syseventd \ 116 devctl \ 117 devinfo \ 118 devmgmt \ 119 devprop \ 120 dfs.cmds \ 121 diff \ 122 diff3 \ 123 diffmk \ 124 dircmp \ 125 dirname \ 126 dis \ 127 diskmgtd \ 128 dispadmin \ 129 dladm \ 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 fm \ 162 fmli \ 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 graph \ 185 grep \ 186 grep_xpg4 \ 187 groups \ 188 grpck \ 189 gss \ 190 hal \ 191 halt \ 192 head \ 193 hostid \ 194 hostname \ 195 hotplug \ 196 hotplugd \ 197 hwdata \ 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 iscsi \ 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 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 auditd \ 519 auditrecord \ 520 auths \ 521 autopush \ 522 avs \ 523 awk \ 524 awk_xpg4 \ 525 backup \ 526 banner \ 527 bart \ 528 basename \ 529 bnu \ 530 bsmconv \ 531 bsmunconv \ 532 busstat \ 533 cal \ 534 cat \ 535 cdrw \ 536 cfgadm \ 537 checkeq \ 538 checknr \ 539 chgrp \ 540 chmod \ 541 chown \ 542 cmd-crypto \ 543 cmd-inet \ 544 col \ 545 compress \ 546 consadm \ 547 coreadm \ 548 cpio \ 549 cpc \ 550 cron \ 551 csh \ 552 csplit \ 553 ctrun \ 554 ctstat \ 555 ctwatch \ 556 datadm \ 557 date \ 558 dc \ 559 dcs \ 560 dd \ 561 deroff \ 562 devfsadm \ 563 dfs.cmds \ 564 diff \ 565 diffmk \ 566 dladm \ 567 du \ 568 dumpcs \ 569 ed \ 570 eject \ 571 env \ 572 eqn \ 573 expand \ 574 expr \ 575 fcinfo \ 576 fgrep \ 577 file \ 578 filesync \ 579 find \ 580 flowadm \ 581 fm \ 582 fold \ 583 fs.d \ 584 fwflash \ 585 geniconvtbl \ 586 genmsg \ 587 getconf \ 588 getent \ 589 gettext \ 590 gettxt \ 591 grep \ 592 grep_xpg4 \ 593 grpck \ 594 gss \ 595 halt \ 596 head \ 597 hostname \ 598 hotplug \ 599 id \ 600 idmap \ 601 isaexec \ 602 iscsi \ 603 iscsiadm \ 604 iscsid \ 605 isns \ 606 itadm \ 607 kbd \ 608 krb5 \ 609 ksh \ 610 kstat \ 611 last \ 612 ldap \ 613 ldapcachemgr \ 614 lgrpinfo \ 615 locale \ 616 lofiadm \ 617 logadm \ 618 logger \ 619 logins \ 620 ls \ 621 luxadm \ 622 lvm \ 623 mailx \ 624 mesg \ 625 mkdir \ 626 mkpwdict \ 627 mktemp \ 628 more \ 629 mpathadm \ 630 msgfmt \ 631 mv \ 632 ndmpadm \ 633 ndmpstat \ 634 newgrp \ 635 newtask \ 636 nice \ 637 nohup \ 638 oawk \ 639 pack \ 640 passwd \ 641 passmgmt \ 642 pathchk \ 643 pfexec \ 644 pg \ 645 pgrep \ 646 picl \ 647 pools \ 648 power \ 649 pr \ 650 praudit \ 651 print \ 652 profiles \ 653 projadd \ 654 projects \ 655 prstat \ 656 prtdiag \ 657 ps \ 658 psrinfo \ 659 ptools \ 660 pwconv \ 661 pwd \ 662 pyzfs \ 663 raidctl \ 664 ramdiskadm \ 665 rcap \ 666 rcm_daemon \ 667 refer \ 668 regcmp \ 669 renice \ 670 roles \ 671 rm \ 672 rmdir \ 673 rmformat \ 674 rmmount \ 675 rmvolmgr \ 676 sasinfo \ 677 sbdadm \ 678 scadm \ 679 script \ 680 scsi \ 681 sdiff \ 682 sdpadm \ 683 sgs \ 684 sh \ 685 shcomp \ 686 smbsrv \ 687 sort \ 688 split \ 689 ssh \ 690 stat \ 691 stmfadm \ 692 stmsboot \ 693 strings \ 694 su \ 695 svc \ 696 svr4pkg \ 697 swap \ 698 syseventadm \ 699 syseventd \ 700 tabs \ 701 tar \ 702 tbl \ 703 time \ 704 tnf \ 705 touch \ 706 tput \ 707 troff \ 708 tsol \ 709 tty \ 710 ttymon \ 711 tzreload \ 712 ul \ 713 uname \ 714 units \ 715 unlink \ 716 unpack \ 717 valtools \ 718 vgrind \ 719 vi \ 720 volcheck \ 721 volrmmount \ 722 vrrpadm \ 723 vscan \ 724 w \ 725 wbem \ 726 who \ 727 whodo \ 728 wracct \ 729 write \ 730 wusbadm \ 731 xargs \ 732 yppasswd \ 733 zdump \ 734 zfs \ 735 zic \ 736 zlogin \ 737 zoneadm \ 738 zoneadmd \ 739 zonecfg \ 740 zonename \ 741 zpool 742 743$(CLOSED_BUILD)MSGSUBDIRS += \ 744 $(CLOSED)/cmd/iconv \ 745 $(CLOSED)/cmd/ksh \ 746 $(CLOSED)/cmd/llc2 \ 747 $(CLOSED)/cmd/localedef \ 748 $(CLOSED)/cmd/more_xpg4 \ 749 $(CLOSED)/cmd/od \ 750 $(CLOSED)/cmd/patch \ 751 $(CLOSED)/cmd/pax \ 752 $(CLOSED)/cmd/printf \ 753 $(CLOSED)/cmd/sed \ 754 $(CLOSED)/cmd/sed_xpg4 \ 755 $(CLOSED)/cmd/tail \ 756 $(CLOSED)/cmd/tr_xpg4 757 758sparc_MSGSUBDIRS= \ 759 fruadm \ 760 prtdscp \ 761 prtfru \ 762 vntsd 763 764i386_MSGSUBDIRS= \ 765 ucodeadm 766 767# 768# commands that use dcgettext for localized time, LC_TIME 769# 770DCSUBDIRS= \ 771 cal \ 772 cfgadm \ 773 diff \ 774 ls \ 775 pr \ 776 ps \ 777 tar \ 778 w \ 779 who \ 780 whodo \ 781 write 782 783$(CLOSED_BUILD)DCSUBDIRS += \ 784 $(CLOSED)/cmd/pax 785 786# 787# commands that belong only to audit and device allocation 788# 789AUDITSUBDIRS= \ 790 allocate \ 791 amt \ 792 audit \ 793 audit_warn \ 794 auditconfig \ 795 auditd \ 796 auditrecord \ 797 auditreduce \ 798 auditstat \ 799 praudit \ 800 bsmconv \ 801 bsmunconv 802 803# 804# commands not owned by the systems group 805# 806BWOSDIRS= 807 808 809all := TARGET = all 810install := TARGET = install 811clean := TARGET = clean 812clobber := TARGET = clobber 813lint := TARGET = lint 814_msg := TARGET = _msg 815_dc := TARGET = _dc 816 817.KEEP_STATE: 818 819SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 820 821.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 822 823all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 824 $(AUDITSUBDIRS) 825 826# 827# Manifests cannot be checked in parallel, because we are using 828# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 829# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 830# we spawn off a sub-make to perform the non-parallel 'make check' 831# 832check: 833 $(MAKE) -f Makefile.check check 834 835# 836# The .WAIT directive works around an apparent bug in parallel make. 837# Evidently make was getting the target _msg vs. _dc confused under 838# some level of parallelization, causing some of the _dc objects 839# not to be built. 840# 841_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 842 843_dc: $(DCSUBDIRS) 844 845# 846# Dependencies 847# 848fs.d: fstyp 849ksh: shcomp isaexec 850print: lp 851 852$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 853 @if [ -f $@/Makefile ]; then \ 854 cd $@; pwd; $(MAKE) $(TARGET); \ 855 else \ 856 true; \ 857 fi 858 859FRC: 860