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# Copyright (c) 2012 Joyent, Inc. All rights reserved. 25# Copyright (c) 2012 by Delphix. All rights reserved. 26# Copyright (c) 2013 DEY Storage Systems, Inc. All rights reserved. 27 28include ../Makefile.master 29 30# 31# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in 32# the list, violating alphabetical order. This is because they are very 33# long-running and should be given the most wall-clock time for a 34# parallel build. 35# 36# Commands in the FIRST_SUBDIRS list are built before starting the build 37# of other commands. Currently this includes only 'isaexec' and 38# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 39# $(ROOT)/usr/lib/platexec must exist when some other commands are built 40# because their 'make install' creates a hard link to one of them. 41# 42# Commands are listed one per line so that TeamWare can auto-merge most 43# changes. 44# 45 46FIRST_SUBDIRS= \ 47 isaexec \ 48 platexec 49 50COMMON_SUBDIRS= \ 51 allocate \ 52 availdevs \ 53 lp \ 54 perl \ 55 man \ 56 Adm \ 57 abi \ 58 adbgen \ 59 acct \ 60 acctadm \ 61 arch \ 62 asa \ 63 ast \ 64 audio \ 65 auths \ 66 autopush \ 67 avs \ 68 awk \ 69 awk_xpg4 \ 70 backup \ 71 banner \ 72 bart \ 73 basename \ 74 bc \ 75 bdiff \ 76 beadm \ 77 bfs \ 78 bnu \ 79 boot \ 80 busstat \ 81 cal \ 82 calendar \ 83 captoinfo \ 84 cat \ 85 cdrw \ 86 cfgadm \ 87 checkeq \ 88 checknr \ 89 chgrp \ 90 chmod \ 91 chown \ 92 chroot \ 93 clear \ 94 clinfo \ 95 cmd-crypto \ 96 cmd-inet \ 97 col \ 98 compress \ 99 consadm \ 100 coreadm \ 101 cpio \ 102 cpc \ 103 cron \ 104 crypt \ 105 csh \ 106 csplit \ 107 ctrun \ 108 ctstat \ 109 ctwatch \ 110 datadm \ 111 date \ 112 dc \ 113 dd \ 114 deroff \ 115 devfsadm \ 116 syseventd \ 117 devctl \ 118 devinfo \ 119 devmgmt \ 120 devprop \ 121 dfs.cmds \ 122 diff \ 123 diff3 \ 124 diffmk \ 125 dircmp \ 126 dirname \ 127 dis \ 128 diskmgtd \ 129 dispadmin \ 130 dladm \ 131 dlstat \ 132 dmesg \ 133 dodatadm \ 134 dtrace \ 135 du \ 136 dumpadm \ 137 dumpcs \ 138 echo \ 139 ed \ 140 eeprom \ 141 egrep \ 142 eject \ 143 emul64ioctl \ 144 enhance \ 145 env \ 146 eqn \ 147 expand \ 148 expr \ 149 exstr \ 150 factor \ 151 false \ 152 fcinfo \ 153 fcoesvc \ 154 fdetach \ 155 fdformat \ 156 fdisk \ 157 filesync \ 158 fgrep \ 159 file \ 160 find \ 161 flowadm \ 162 flowstat \ 163 fm \ 164 fmt \ 165 fmthard \ 166 fmtmsg \ 167 fold \ 168 format \ 169 fs.d \ 170 fstyp \ 171 fuser \ 172 fwflash \ 173 gcore \ 174 gencat \ 175 geniconvtbl \ 176 genmsg \ 177 getconf \ 178 getdevpolicy \ 179 getent \ 180 getfacl \ 181 getmajor \ 182 getopt \ 183 gettext \ 184 gettxt \ 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 ibd_upgrade \ 199 id \ 200 idmap \ 201 infocmp \ 202 init \ 203 initpkg \ 204 install.d \ 205 intrd \ 206 intrstat \ 207 ipcrm \ 208 ipcs \ 209 ipdadm \ 210 ipf \ 211 isainfo \ 212 isalist \ 213 itutools \ 214 iscsiadm \ 215 iscsid \ 216 iscsitsvc \ 217 isns \ 218 itadm \ 219 java \ 220 kbd \ 221 keyserv \ 222 killall \ 223 krb5 \ 224 ksh \ 225 kvmstat \ 226 last \ 227 lastcomm \ 228 latencytop \ 229 ldap \ 230 ldapcachemgr \ 231 lgrpinfo \ 232 line \ 233 link \ 234 dlmgmtd \ 235 listen \ 236 loadkeys \ 237 locale \ 238 localedef \ 239 lockstat \ 240 locator \ 241 lofiadm \ 242 logadm \ 243 logger \ 244 login \ 245 logins \ 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 modload \ 265 more \ 266 mpathadm \ 267 msgfmt \ 268 msgid \ 269 mt \ 270 mv \ 271 mvdir \ 272 ndmpadm \ 273 ndmpd \ 274 ndmpstat \ 275 netadm \ 276 netfiles \ 277 newform \ 278 newgrp \ 279 news \ 280 newtask \ 281 nice \ 282 nl \ 283 nlsadmin \ 284 nohup \ 285 nsadmin \ 286 nscd \ 287 oamuser \ 288 oawk \ 289 od \ 290 pack \ 291 pagesize \ 292 passmgmt \ 293 passwd \ 294 pathchk \ 295 pbind \ 296 pcidr \ 297 pcitool \ 298 pfexec \ 299 pfexecd \ 300 pginfo \ 301 pgstat \ 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 printf \ 316 priocntl \ 317 profiles \ 318 projadd \ 319 projects \ 320 prstat \ 321 prtconf \ 322 prtdiag \ 323 prtvtoc \ 324 ps \ 325 psradm \ 326 psrinfo \ 327 psrset \ 328 ptools \ 329 pwck \ 330 pwconv \ 331 pwd \ 332 pyzfs \ 333 raidctl \ 334 ramdiskadm \ 335 rcap \ 336 rcm_daemon \ 337 rctladm \ 338 refer \ 339 regcmp \ 340 renice \ 341 rexd \ 342 rm \ 343 rmdir \ 344 rmformat \ 345 rmmount \ 346 rmt \ 347 rmvolmgr \ 348 roles \ 349 rpcbind \ 350 rpcgen \ 351 rpcinfo \ 352 rpcsvc \ 353 runat \ 354 sa \ 355 saf \ 356 sasinfo \ 357 savecore \ 358 sbdadm \ 359 script \ 360 scsi \ 361 sdiff \ 362 sdpadm \ 363 sed \ 364 sendmail \ 365 setfacl \ 366 setmnt \ 367 setpgrp \ 368 setuname \ 369 sgs \ 370 sh \ 371 shcomp \ 372 smbios \ 373 smbsrv \ 374 smserverd \ 375 soelim \ 376 sort \ 377 spell \ 378 split \ 379 sqlite \ 380 srchtxt \ 381 srptadm \ 382 srptsvc \ 383 ssh \ 384 stat \ 385 stmfadm \ 386 stmfproxy \ 387 stmfsvc \ 388 stmsboot \ 389 streams \ 390 strings \ 391 su \ 392 sulogin \ 393 sunpc \ 394 svc \ 395 svr4pkg \ 396 swap \ 397 sync \ 398 sysdef \ 399 syseventadm \ 400 syslogd \ 401 tabs \ 402 tail \ 403 tar \ 404 tbl \ 405 tcopy \ 406 tcpd \ 407 terminfo \ 408 th_tools \ 409 tic \ 410 time \ 411 tip \ 412 tnf \ 413 touch \ 414 tput \ 415 tr \ 416 trapstat \ 417 troff \ 418 true \ 419 truss \ 420 tsol \ 421 tty \ 422 ttymon \ 423 tzreload \ 424 uadmin \ 425 ul \ 426 uname \ 427 units \ 428 unlink \ 429 unpack \ 430 userattr \ 431 users \ 432 utmp_update \ 433 utmpd \ 434 valtools \ 435 vgrind \ 436 vi \ 437 volcheck \ 438 volrmmount \ 439 vrrpadm \ 440 vscan \ 441 vt \ 442 w \ 443 wall \ 444 which \ 445 who \ 446 whodo \ 447 wracct \ 448 write \ 449 wusbadm \ 450 xargs \ 451 xstr \ 452 yes \ 453 ypcmd \ 454 yppasswd \ 455 zdb \ 456 zdump \ 457 zevadm \ 458 zfs \ 459 zhack \ 460 zic \ 461 zinject \ 462 zlogin \ 463 zoneadm \ 464 zoneadmd \ 465 zonecfg \ 466 zonename \ 467 zpool \ 468 zlook \ 469 zonestat \ 470 zstreamdump \ 471 ztest 472 473i386_SUBDIRS= \ 474 acpihpd \ 475 addbadsec \ 476 biosdev \ 477 diskscan \ 478 lms \ 479 ntfsprogs \ 480 parted \ 481 rtc \ 482 ucodeadm \ 483 xvm 484 485sparc_SUBDIRS= \ 486 cvcd \ 487 dcs \ 488 device_remap \ 489 drd \ 490 fruadm \ 491 ldmad \ 492 oplhpd \ 493 prtdscp \ 494 prtfru \ 495 scadm \ 496 sckmd \ 497 sf880drd \ 498 virtinfo \ 499 vntsd 500 501# 502# Commands that are messaged. Note that 'lp' and 'man' come first 503# (see previous comment about 'lp' and 'man'). 504# 505MSGSUBDIRS= \ 506 lp \ 507 man \ 508 abi \ 509 acctadm \ 510 allocate \ 511 asa \ 512 audio \ 513 audit \ 514 auditconfig \ 515 auditd \ 516 auditrecord \ 517 auditset \ 518 auths \ 519 autopush \ 520 avs \ 521 awk \ 522 awk_xpg4 \ 523 backup \ 524 banner \ 525 bart \ 526 basename \ 527 beadm \ 528 bnu \ 529 busstat \ 530 cal \ 531 cat \ 532 cdrw \ 533 cfgadm \ 534 checkeq \ 535 checknr \ 536 chgrp \ 537 chmod \ 538 chown \ 539 cmd-crypto \ 540 cmd-inet \ 541 col \ 542 compress \ 543 consadm \ 544 coreadm \ 545 cpio \ 546 cpc \ 547 cron \ 548 csh \ 549 csplit \ 550 ctrun \ 551 ctstat \ 552 ctwatch \ 553 datadm \ 554 date \ 555 dc \ 556 dcs \ 557 dd \ 558 deroff \ 559 devfsadm \ 560 dfs.cmds \ 561 diff \ 562 diffmk \ 563 dladm \ 564 dlstat \ 565 du \ 566 dumpcs \ 567 ed \ 568 eject \ 569 env \ 570 eqn \ 571 expand \ 572 expr \ 573 fcinfo \ 574 fgrep \ 575 file \ 576 filesync \ 577 find \ 578 flowadm \ 579 flowstat \ 580 fm \ 581 fold \ 582 fs.d \ 583 fwflash \ 584 geniconvtbl \ 585 genmsg \ 586 getconf \ 587 getent \ 588 gettext \ 589 gettxt \ 590 grep \ 591 grep_xpg4 \ 592 grpck \ 593 gss \ 594 halt \ 595 head \ 596 hostname \ 597 hotplug \ 598 id \ 599 idmap \ 600 isaexec \ 601 iscsiadm \ 602 iscsid \ 603 isns \ 604 itadm \ 605 kbd \ 606 krb5 \ 607 ksh \ 608 last \ 609 ldap \ 610 ldapcachemgr \ 611 lgrpinfo \ 612 locale \ 613 lofiadm \ 614 logadm \ 615 logger \ 616 logins \ 617 ls \ 618 luxadm \ 619 lvm \ 620 mailx \ 621 mesg \ 622 mkdir \ 623 mkpwdict \ 624 mktemp \ 625 more \ 626 mpathadm \ 627 msgfmt \ 628 mv \ 629 ndmpadm \ 630 ndmpstat \ 631 newgrp \ 632 newtask \ 633 nice \ 634 nohup \ 635 oawk \ 636 pack \ 637 passwd \ 638 passmgmt \ 639 pathchk \ 640 pfexec \ 641 pg \ 642 pgrep \ 643 picl \ 644 pools \ 645 power \ 646 pr \ 647 praudit \ 648 print \ 649 profiles \ 650 projadd \ 651 projects \ 652 prstat \ 653 prtdiag \ 654 ps \ 655 psrinfo \ 656 ptools \ 657 pwconv \ 658 pwd \ 659 pyzfs \ 660 raidctl \ 661 ramdiskadm \ 662 rcap \ 663 rcm_daemon \ 664 refer \ 665 regcmp \ 666 renice \ 667 roles \ 668 rm \ 669 rmdir \ 670 rmformat \ 671 rmmount \ 672 rmvolmgr \ 673 sasinfo \ 674 sbdadm \ 675 scadm \ 676 script \ 677 scsi \ 678 sdiff \ 679 sdpadm \ 680 sgs \ 681 sh \ 682 shcomp \ 683 smbsrv \ 684 sort \ 685 split \ 686 srptadm \ 687 ssh \ 688 stat \ 689 stmfadm \ 690 stmsboot \ 691 strings \ 692 su \ 693 svc \ 694 svr4pkg \ 695 swap \ 696 syseventadm \ 697 syseventd \ 698 tabs \ 699 tar \ 700 tbl \ 701 time \ 702 tnf \ 703 touch \ 704 tput \ 705 troff \ 706 tsol \ 707 tty \ 708 ttymon \ 709 tzreload \ 710 ul \ 711 uname \ 712 units \ 713 unlink \ 714 unpack \ 715 userattr \ 716 valtools \ 717 vgrind \ 718 vi \ 719 volcheck \ 720 volrmmount \ 721 vrrpadm \ 722 vscan \ 723 w \ 724 who \ 725 whodo \ 726 wracct \ 727 write \ 728 wusbadm \ 729 xargs \ 730 yppasswd \ 731 zdump \ 732 zevadm \ 733 zfs \ 734 zic \ 735 zlogin \ 736 zoneadm \ 737 zoneadmd \ 738 zonecfg \ 739 zonename \ 740 zpool \ 741 zonestat 742 743sparc_MSGSUBDIRS= \ 744 fruadm \ 745 prtdscp \ 746 prtfru \ 747 virtinfo \ 748 vntsd 749 750i386_MSGSUBDIRS= \ 751 ucodeadm 752 753# 754# commands that use dcgettext for localized time, LC_TIME 755# 756DCSUBDIRS= \ 757 cal \ 758 cfgadm \ 759 diff \ 760 ls \ 761 pr \ 762 ps \ 763 tar \ 764 w \ 765 who \ 766 whodo \ 767 write 768 769# 770# commands that belong only to audit. 771# 772AUDITSUBDIRS= \ 773 amt \ 774 audit \ 775 audit_warn \ 776 auditconfig \ 777 auditd \ 778 auditrecord \ 779 auditreduce \ 780 auditset \ 781 auditstat \ 782 praudit 783 784# 785# commands not owned by the systems group 786# 787BWOSDIRS= 788 789 790all := TARGET = all 791install := TARGET = install 792clean := TARGET = clean 793clobber := TARGET = clobber 794lint := TARGET = lint 795_msg := TARGET = _msg 796_dc := TARGET = _dc 797 798.KEEP_STATE: 799 800SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 801 802.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 803 804all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 805 $(AUDITSUBDIRS) 806 807# 808# Manifests cannot be checked in parallel, because we are using 809# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 810# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 811# we spawn off a sub-make to perform the non-parallel 'make check' 812# 813check: 814 $(MAKE) -f Makefile.check check 815 816# 817# The .WAIT directive works around an apparent bug in parallel make. 818# Evidently make was getting the target _msg vs. _dc confused under 819# some level of parallelization, causing some of the _dc objects 820# not to be built. 821# 822_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 823 824_dc: $(DCSUBDIRS) 825 826# 827# Dependencies 828# 829fs.d: fstyp 830ksh: shcomp isaexec 831mdb: terminfo 832print: lp 833 834$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 835 @if [ -f $@/Makefile ]; then \ 836 cd $@; pwd; $(MAKE) $(TARGET); \ 837 else \ 838 true; \ 839 fi 840 841FRC: 842