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 2015 Nexenta Systems, Inc. All rights reserved. 24# Copyright 2016 Joyent, Inc. 25# Copyright (c) 2012 by Delphix. All rights reserved. 26# Copyright (c) 2013 DEY Storage Systems, Inc. All rights reserved. 27# Copyright 2014 Garrett D'Amore <garrett@damore.org> 28 29include ../Makefile.master 30 31# 32# Note that the commands 'lp', and 'perl' are first in 33# the list, violating alphabetical order. This is because they are very 34# long-running and should be given the most wall-clock time for a 35# parallel build. 36# 37# Commands in the FIRST_SUBDIRS list are built before starting the build 38# of other commands. Currently this includes only 'isaexec' and 39# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 40# $(ROOT)/usr/lib/platexec must exist when some other commands are built 41# because their 'make install' creates a hard link to one of them. 42# 43# Commands are listed one per line so that TeamWare can auto-merge most 44# changes. 45# 46 47FIRST_SUBDIRS= \ 48 isaexec \ 49 platexec 50 51COMMON_SUBDIRS= \ 52 allocate \ 53 availdevs \ 54 lp \ 55 perl \ 56 Adm \ 57 abi \ 58 adbgen \ 59 acct \ 60 acctadm \ 61 arcwatch \ 62 arch \ 63 asa \ 64 ast \ 65 audio \ 66 auths \ 67 autopush \ 68 avs \ 69 awk \ 70 awk_xpg4 \ 71 backup \ 72 banner \ 73 bart \ 74 basename \ 75 bc \ 76 bdiff \ 77 beadm \ 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 ibd_upgrade \ 198 id \ 199 idmap \ 200 infocmp \ 201 init \ 202 initpkg \ 203 install.d \ 204 intrd \ 205 intrstat \ 206 ipcrm \ 207 ipcs \ 208 ipdadm \ 209 ipf \ 210 isainfo \ 211 isalist \ 212 itutools \ 213 iscsiadm \ 214 iscsid \ 215 iscsitsvc \ 216 isns \ 217 itadm \ 218 kbd \ 219 keyserv \ 220 killall \ 221 krb5 \ 222 ksh \ 223 kvmstat \ 224 last \ 225 lastcomm \ 226 latencytop \ 227 ldap \ 228 ldapcachemgr \ 229 lgrpinfo \ 230 line \ 231 link \ 232 dlmgmtd \ 233 listen \ 234 loadkeys \ 235 locale \ 236 localedef \ 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 mail \ 250 mailwrapper \ 251 mailx \ 252 make \ 253 makekey \ 254 man \ 255 mandoc \ 256 mdb \ 257 mesg \ 258 mkdir \ 259 mkfifo \ 260 mkfile \ 261 mkmsgs \ 262 mknod \ 263 mkpwdict \ 264 mktemp \ 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 nl \ 284 nlsadmin \ 285 nohup \ 286 nsadmin \ 287 nscd \ 288 oamuser \ 289 oawk \ 290 od \ 291 pack \ 292 pagesize \ 293 passmgmt \ 294 passwd \ 295 pathchk \ 296 pbind \ 297 pcidr \ 298 pcitool \ 299 pfexec \ 300 pfexecd \ 301 pginfo \ 302 pgstat \ 303 pgrep \ 304 picl \ 305 plimit \ 306 policykit \ 307 pools \ 308 power \ 309 powertop \ 310 ppgsz \ 311 pg \ 312 plockstat \ 313 pr \ 314 prctl \ 315 print \ 316 printf \ 317 priocntl \ 318 profiles \ 319 projadd \ 320 projects \ 321 prstat \ 322 prtconf \ 323 prtdiag \ 324 prtvtoc \ 325 ps \ 326 psradm \ 327 psrinfo \ 328 psrset \ 329 ptools \ 330 pwck \ 331 pwconv \ 332 pwd \ 333 pyzfs \ 334 raidctl \ 335 ramdiskadm \ 336 rcap \ 337 rcm_daemon \ 338 rctladm \ 339 refer \ 340 regcmp \ 341 renice \ 342 rexd \ 343 rm \ 344 rmdir \ 345 rmformat \ 346 rmmount \ 347 rmt \ 348 rmvolmgr \ 349 roles \ 350 rpcbind \ 351 rpcgen \ 352 rpcinfo \ 353 rpcsvc \ 354 runat \ 355 sa \ 356 saf \ 357 sasinfo \ 358 savecore \ 359 sbdadm \ 360 script \ 361 scsi \ 362 sdiff \ 363 sdpadm \ 364 sed \ 365 sendmail \ 366 setfacl \ 367 setmnt \ 368 setpgrp \ 369 setuname \ 370 sgs \ 371 sh \ 372 shcomp \ 373 smbios \ 374 smbsrv \ 375 smserverd \ 376 soelim \ 377 sort \ 378 spell \ 379 split \ 380 sqlite \ 381 srchtxt \ 382 srptadm \ 383 srptsvc \ 384 ssh \ 385 stat \ 386 stmfadm \ 387 stmfproxy \ 388 stmfsvc \ 389 stmsboot \ 390 streams \ 391 strings \ 392 su \ 393 sulogin \ 394 sunpc \ 395 svc \ 396 svr4pkg \ 397 swap \ 398 sync \ 399 sysdef \ 400 syseventadm \ 401 syslogd \ 402 tabs \ 403 tail \ 404 tar \ 405 tbl \ 406 tcopy \ 407 tcpd \ 408 terminfo \ 409 th_tools \ 410 tic \ 411 time \ 412 tip \ 413 tnf \ 414 touch \ 415 tput \ 416 tr \ 417 trapstat \ 418 troff \ 419 true \ 420 truss \ 421 tsol \ 422 tty \ 423 ttymon \ 424 tzreload \ 425 uadmin \ 426 ul \ 427 uname \ 428 units \ 429 unlink \ 430 unpack \ 431 userattr \ 432 users \ 433 utmp_update \ 434 utmpd \ 435 uuidgen \ 436 valtools \ 437 vgrind \ 438 vi \ 439 volcheck \ 440 volrmmount \ 441 vrrpadm \ 442 vscan \ 443 vt \ 444 w \ 445 wall \ 446 which \ 447 who \ 448 whodo \ 449 wracct \ 450 write \ 451 xargs \ 452 xstr \ 453 yes \ 454 ypcmd \ 455 yppasswd \ 456 zdb \ 457 zdump \ 458 zevadm \ 459 zfs \ 460 zhack \ 461 zic \ 462 zinject \ 463 zlogin \ 464 zoneadm \ 465 zoneadmd \ 466 zonecfg \ 467 zonename \ 468 zpool \ 469 zlook \ 470 zonestat \ 471 zstreamdump \ 472 ztest 473 474i386_SUBDIRS= \ 475 acpi \ 476 acpihpd \ 477 addbadsec \ 478 biosdev \ 479 diskscan \ 480 lms \ 481 nvmeadm \ 482 rtc \ 483 ucodeadm \ 484 xvm 485 486sparc_SUBDIRS= \ 487 cvcd \ 488 dcs \ 489 device_remap \ 490 drd \ 491 fruadm \ 492 ldmad \ 493 oplhpd \ 494 prtdscp \ 495 prtfru \ 496 scadm \ 497 sckmd \ 498 sf880drd \ 499 virtinfo \ 500 vntsd 501 502# 503# Commands that are messaged. Note that 'lp' comes first 504# (see previous comment about 'lp'.) 505# 506MSGSUBDIRS= \ 507 lp \ 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 make \ 622 man \ 623 mesg \ 624 mkdir \ 625 mkpwdict \ 626 mktemp \ 627 more \ 628 mpathadm \ 629 msgfmt \ 630 mv \ 631 ndmpadm \ 632 ndmpstat \ 633 newgrp \ 634 newtask \ 635 nice \ 636 nohup \ 637 oawk \ 638 pack \ 639 passwd \ 640 passmgmt \ 641 pathchk \ 642 pfexec \ 643 pg \ 644 pgrep \ 645 picl \ 646 pools \ 647 power \ 648 pr \ 649 praudit \ 650 print \ 651 profiles \ 652 projadd \ 653 projects \ 654 prstat \ 655 prtdiag \ 656 ps \ 657 psrinfo \ 658 ptools \ 659 pwconv \ 660 pwd \ 661 pyzfs \ 662 raidctl \ 663 ramdiskadm \ 664 rcap \ 665 rcm_daemon \ 666 refer \ 667 regcmp \ 668 renice \ 669 roles \ 670 rm \ 671 rmdir \ 672 rmformat \ 673 rmmount \ 674 rmvolmgr \ 675 sasinfo \ 676 sbdadm \ 677 scadm \ 678 script \ 679 scsi \ 680 sdiff \ 681 sdpadm \ 682 sgs \ 683 sh \ 684 shcomp \ 685 smbsrv \ 686 sort \ 687 split \ 688 srptadm \ 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 userattr \ 718 valtools \ 719 vgrind \ 720 vi \ 721 volcheck \ 722 volrmmount \ 723 vrrpadm \ 724 vscan \ 725 w \ 726 who \ 727 whodo \ 728 wracct \ 729 write \ 730 xargs \ 731 yppasswd \ 732 zdump \ 733 zevadm \ 734 zfs \ 735 zic \ 736 zlogin \ 737 zoneadm \ 738 zoneadmd \ 739 zonecfg \ 740 zonename \ 741 zpool \ 742 zonestat 743 744sparc_MSGSUBDIRS= \ 745 fruadm \ 746 prtdscp \ 747 prtfru \ 748 virtinfo \ 749 vntsd 750 751i386_MSGSUBDIRS= \ 752 ucodeadm 753 754# 755# commands that use dcgettext for localized time, LC_TIME 756# 757DCSUBDIRS= \ 758 cal \ 759 cfgadm \ 760 diff \ 761 ls \ 762 pr \ 763 ps \ 764 tar \ 765 w \ 766 who \ 767 whodo \ 768 write 769 770# 771# commands that belong only to audit. 772# 773AUDITSUBDIRS= \ 774 amt \ 775 audit \ 776 audit_warn \ 777 auditconfig \ 778 auditd \ 779 auditrecord \ 780 auditreduce \ 781 auditset \ 782 auditstat \ 783 praudit 784 785# 786# commands not owned by the systems group 787# 788BWOSDIRS= 789 790 791all := TARGET = all 792install := TARGET = install 793clean := TARGET = clean 794clobber := TARGET = clobber 795lint := TARGET = lint 796_msg := TARGET = _msg 797_dc := TARGET = _dc 798 799.KEEP_STATE: 800 801SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 802 803.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 804 805all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 806 $(AUDITSUBDIRS) 807 808# 809# Manifests cannot be checked in parallel, because we are using 810# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 811# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 812# we spawn off a sub-make to perform the non-parallel 'make check' 813# 814check: 815 $(MAKE) -f Makefile.check check 816 817# 818# The .WAIT directive works around an apparent bug in parallel make. 819# Evidently make was getting the target _msg vs. _dc confused under 820# some level of parallelization, causing some of the _dc objects 821# not to be built. 822# 823_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 824 825_dc: $(DCSUBDIRS) 826 827# 828# Dependencies 829# 830fs.d: fstyp 831ksh: shcomp isaexec 832mdb: terminfo 833print: lp 834fmt: mailx 835 836$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 837 @if [ -f $@/Makefile ]; then \ 838 cd $@; pwd; $(MAKE) $(TARGET); \ 839 else \ 840 true; \ 841 fi 842 843FRC: 844