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# Copyright 2010 Nexenta Systems, Inc. All rights reserved. 24 25include ../Makefile.master 26 27# 28# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in 29# the list, violating alphabetical order. This is because they are very 30# long-running and should be given the most wall-clock time for a 31# parallel build. 32# 33# Commands in the FIRST_SUBDIRS list are built before starting the build 34# of other commands. Currently this includes only 'isaexec' and 35# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 36# $(ROOT)/usr/lib/platexec must exist when some other commands are built 37# because their 'make install' creates a hard link to one of them. 38# 39# Commands are listed one per line so that TeamWare can auto-merge most 40# changes. 41# 42 43FIRST_SUBDIRS= \ 44 isaexec \ 45 platexec 46 47COMMON_SUBDIRS= \ 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 devfsadm \ 113 syseventd \ 114 devctl \ 115 devinfo \ 116 devmgmt \ 117 devprop \ 118 dfs.cmds \ 119 diff \ 120 diff3 \ 121 diffmk \ 122 dircmp \ 123 dirname \ 124 dis \ 125 diskmgtd \ 126 dispadmin \ 127 dladm \ 128 dlstat \ 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 flowstat \ 161 fm \ 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 grep \ 184 grep_xpg4 \ 185 groups \ 186 grpck \ 187 gss \ 188 hal \ 189 halt \ 190 head \ 191 hostid \ 192 hostname \ 193 hotplug \ 194 hotplugd \ 195 hwdata \ 196 ibd_upgrade \ 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 localedef \ 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 od \ 287 pack \ 288 pagesize \ 289 passmgmt \ 290 passwd \ 291 pathchk \ 292 pbind \ 293 pcidr \ 294 pcitool \ 295 pfexec \ 296 pfexecd \ 297 pginfo \ 298 pgstat \ 299 pgrep \ 300 picl \ 301 plimit \ 302 policykit \ 303 pools \ 304 power \ 305 powertop \ 306 ppgsz \ 307 pg \ 308 plockstat \ 309 pr \ 310 prctl \ 311 print \ 312 printf \ 313 priocntl \ 314 profiles \ 315 projadd \ 316 projects \ 317 prstat \ 318 prtconf \ 319 prtdiag \ 320 prtvtoc \ 321 ps \ 322 psradm \ 323 psrinfo \ 324 psrset \ 325 ptools \ 326 pwck \ 327 pwconv \ 328 pwd \ 329 pyzfs \ 330 raidctl \ 331 ramdiskadm \ 332 rcap \ 333 rcm_daemon \ 334 rctladm \ 335 refer \ 336 regcmp \ 337 renice \ 338 rexd \ 339 rm \ 340 rmdir \ 341 rmformat \ 342 rmmount \ 343 rmt \ 344 rmvolmgr \ 345 roles \ 346 rpcbind \ 347 rpcgen \ 348 rpcinfo \ 349 rpcsvc \ 350 runat \ 351 sa \ 352 saf \ 353 sasinfo \ 354 savecore \ 355 sbdadm \ 356 script \ 357 scsi \ 358 sdiff \ 359 sdpadm \ 360 sendmail \ 361 setfacl \ 362 setmnt \ 363 setpgrp \ 364 setuname \ 365 sgs \ 366 sh \ 367 shcomp \ 368 smbios \ 369 smbsrv \ 370 smserverd \ 371 soelim \ 372 sort \ 373 spell \ 374 split \ 375 sqlite \ 376 srchtxt \ 377 srptadm \ 378 srptsvc \ 379 ssh \ 380 stat \ 381 stmfadm \ 382 stmfproxy \ 383 stmfsvc \ 384 stmsboot \ 385 streams \ 386 strings \ 387 su \ 388 sulogin \ 389 sunpc \ 390 svc \ 391 svr4pkg \ 392 swap \ 393 sync \ 394 sysdef \ 395 syseventadm \ 396 syslogd \ 397 tabs \ 398 tail \ 399 tar \ 400 tbl \ 401 tcopy \ 402 tcpd \ 403 terminfo \ 404 th_tools \ 405 tic \ 406 time \ 407 tip \ 408 tnf \ 409 touch \ 410 tput \ 411 tr \ 412 trapstat \ 413 troff \ 414 true \ 415 truss \ 416 tsol \ 417 tty \ 418 ttymon \ 419 tzreload \ 420 uadmin \ 421 ul \ 422 uname \ 423 units \ 424 unlink \ 425 unpack \ 426 userattr \ 427 users \ 428 utmp_update \ 429 utmpd \ 430 valtools \ 431 vgrind \ 432 vi \ 433 volcheck \ 434 volrmmount \ 435 vrrpadm \ 436 vscan \ 437 vt \ 438 w \ 439 wall \ 440 which \ 441 who \ 442 whodo \ 443 wracct \ 444 write \ 445 wusbadm \ 446 xargs \ 447 xstr \ 448 yes \ 449 ypcmd \ 450 yppasswd \ 451 zdb \ 452 zdump \ 453 zfs \ 454 zic \ 455 zinject \ 456 zlogin \ 457 zoneadm \ 458 zoneadmd \ 459 zonecfg \ 460 zonename \ 461 zpool \ 462 zlook \ 463 zonestat \ 464 zstreamdump \ 465 ztest 466 467$(CLOSED_BUILD)COMMON_SUBDIRS += \ 468 $(CLOSED)/cmd/iconv \ 469 $(CLOSED)/cmd/ksh \ 470 $(CLOSED)/cmd/localedef \ 471 $(CLOSED)/cmd/more_xpg4 \ 472 $(CLOSED)/cmd/mtst \ 473 $(CLOSED)/cmd/od \ 474 $(CLOSED)/cmd/patch \ 475 $(CLOSED)/cmd/pax \ 476 $(CLOSED)/cmd/printf \ 477 $(CLOSED)/cmd/sed \ 478 $(CLOSED)/cmd/sed_xpg4 479 480i386_SUBDIRS= \ 481 acpihpd \ 482 addbadsec \ 483 biosdev \ 484 diskscan \ 485 lms \ 486 ntfsprogs \ 487 parted \ 488 rtc \ 489 ucodeadm \ 490 xvm 491 492sparc_SUBDIRS= \ 493 cvcd \ 494 dcs \ 495 device_remap \ 496 drd \ 497 fps \ 498 fruadm \ 499 ldmad \ 500 oplhpd \ 501 prtdscp \ 502 prtfru \ 503 scadm \ 504 sckmd \ 505 sf880drd \ 506 virtinfo \ 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 auditconfig \ 523 auditd \ 524 auditrecord \ 525 auditset \ 526 auths \ 527 autopush \ 528 avs \ 529 awk \ 530 awk_xpg4 \ 531 backup \ 532 banner \ 533 bart \ 534 basename \ 535 beadm \ 536 bnu \ 537 busstat \ 538 cal \ 539 cat \ 540 cdrw \ 541 cfgadm \ 542 checkeq \ 543 checknr \ 544 chgrp \ 545 chmod \ 546 chown \ 547 cmd-crypto \ 548 cmd-inet \ 549 col \ 550 compress \ 551 consadm \ 552 coreadm \ 553 cpio \ 554 cpc \ 555 cron \ 556 csh \ 557 csplit \ 558 ctrun \ 559 ctstat \ 560 ctwatch \ 561 datadm \ 562 date \ 563 dc \ 564 dcs \ 565 dd \ 566 deroff \ 567 devfsadm \ 568 dfs.cmds \ 569 diff \ 570 diffmk \ 571 dladm \ 572 dlstat \ 573 du \ 574 dumpcs \ 575 ed \ 576 eject \ 577 env \ 578 eqn \ 579 expand \ 580 expr \ 581 fcinfo \ 582 fgrep \ 583 file \ 584 filesync \ 585 find \ 586 flowadm \ 587 flowstat \ 588 fm \ 589 fold \ 590 fs.d \ 591 fwflash \ 592 geniconvtbl \ 593 genmsg \ 594 getconf \ 595 getent \ 596 gettext \ 597 gettxt \ 598 grep \ 599 grep_xpg4 \ 600 grpck \ 601 gss \ 602 halt \ 603 head \ 604 hostname \ 605 hotplug \ 606 id \ 607 idmap \ 608 isaexec \ 609 iscsiadm \ 610 iscsid \ 611 isns \ 612 itadm \ 613 kbd \ 614 krb5 \ 615 ksh \ 616 kstat \ 617 last \ 618 ldap \ 619 ldapcachemgr \ 620 lgrpinfo \ 621 locale \ 622 lofiadm \ 623 logadm \ 624 logger \ 625 logins \ 626 ls \ 627 luxadm \ 628 lvm \ 629 mailx \ 630 mesg \ 631 mkdir \ 632 mkpwdict \ 633 mktemp \ 634 more \ 635 mpathadm \ 636 msgfmt \ 637 mv \ 638 ndmpadm \ 639 ndmpstat \ 640 newgrp \ 641 newtask \ 642 nice \ 643 nohup \ 644 oawk \ 645 pack \ 646 passwd \ 647 passmgmt \ 648 pathchk \ 649 pfexec \ 650 pg \ 651 pgrep \ 652 picl \ 653 pools \ 654 power \ 655 pr \ 656 praudit \ 657 print \ 658 profiles \ 659 projadd \ 660 projects \ 661 prstat \ 662 prtdiag \ 663 ps \ 664 psrinfo \ 665 ptools \ 666 pwconv \ 667 pwd \ 668 pyzfs \ 669 raidctl \ 670 ramdiskadm \ 671 rcap \ 672 rcm_daemon \ 673 refer \ 674 regcmp \ 675 renice \ 676 roles \ 677 rm \ 678 rmdir \ 679 rmformat \ 680 rmmount \ 681 rmvolmgr \ 682 sasinfo \ 683 sbdadm \ 684 scadm \ 685 script \ 686 scsi \ 687 sdiff \ 688 sdpadm \ 689 sgs \ 690 sh \ 691 shcomp \ 692 smbsrv \ 693 sort \ 694 split \ 695 srptadm \ 696 ssh \ 697 stat \ 698 stmfadm \ 699 stmsboot \ 700 strings \ 701 su \ 702 svc \ 703 svr4pkg \ 704 swap \ 705 syseventadm \ 706 syseventd \ 707 tabs \ 708 tar \ 709 tbl \ 710 time \ 711 tnf \ 712 touch \ 713 tput \ 714 troff \ 715 tsol \ 716 tty \ 717 ttymon \ 718 tzreload \ 719 ul \ 720 uname \ 721 units \ 722 unlink \ 723 unpack \ 724 userattr \ 725 valtools \ 726 vgrind \ 727 vi \ 728 volcheck \ 729 volrmmount \ 730 vrrpadm \ 731 vscan \ 732 w \ 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/localedef \ 755 $(CLOSED)/cmd/more_xpg4 \ 756 $(CLOSED)/cmd/od \ 757 $(CLOSED)/cmd/patch \ 758 $(CLOSED)/cmd/pax \ 759 $(CLOSED)/cmd/printf \ 760 $(CLOSED)/cmd/sed \ 761 $(CLOSED)/cmd/sed_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. 794# 795AUDITSUBDIRS= \ 796 amt \ 797 audit \ 798 audit_warn \ 799 auditconfig \ 800 auditd \ 801 auditrecord \ 802 auditreduce \ 803 auditset \ 804 auditstat \ 805 praudit 806 807# 808# commands not owned by the systems group 809# 810BWOSDIRS= 811 812 813all := TARGET = all 814install := TARGET = install 815clean := TARGET = clean 816clobber := TARGET = clobber 817lint := TARGET = lint 818_msg := TARGET = _msg 819_dc := TARGET = _dc 820 821.KEEP_STATE: 822 823SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 824 825.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 826 827all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 828 $(AUDITSUBDIRS) 829 830# 831# Manifests cannot be checked in parallel, because we are using 832# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 833# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 834# we spawn off a sub-make to perform the non-parallel 'make check' 835# 836check: 837 $(MAKE) -f Makefile.check check 838 839# 840# The .WAIT directive works around an apparent bug in parallel make. 841# Evidently make was getting the target _msg vs. _dc confused under 842# some level of parallelization, causing some of the _dc objects 843# not to be built. 844# 845_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 846 847_dc: $(DCSUBDIRS) 848 849# 850# Dependencies 851# 852fs.d: fstyp 853ksh: shcomp isaexec 854mdb: terminfo 855print: lp 856 857$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 858 @if [ -f $@/Makefile ]; then \ 859 cd $@; pwd; $(MAKE) $(TARGET); \ 860 else \ 861 true; \ 862 fi 863 864FRC: 865