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# 23# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 24# Copyright (c) 2017, 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# Copyright 2016 Toomas Soome <tsoome@me.com> 29# Copyright 2016 Nexenta Systems, Inc. 30# 31 32include ../Makefile.master 33 34# 35# Note that the commands 'lp', and 'perl' are first in 36# the list, violating alphabetical order. This is because they are very 37# long-running and should be given the most wall-clock time for a 38# parallel build. 39# 40# Commands in the FIRST_SUBDIRS list are built before starting the build 41# of other commands. Currently this includes only 'isaexec' and 42# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 43# $(ROOT)/usr/lib/platexec must exist when some other commands are built 44# because their 'make install' creates a hard link to one of them. 45# 46# Commands are listed one per line so that TeamWare can auto-merge most 47# changes. 48# 49 50FIRST_SUBDIRS= \ 51 isaexec \ 52 platexec 53 54COMMON_SUBDIRS= \ 55 allocate \ 56 availdevs \ 57 lp \ 58 perl \ 59 Adm \ 60 abi \ 61 adbgen \ 62 acct \ 63 acctadm \ 64 arcwatch \ 65 arch \ 66 arcflush \ 67 asa \ 68 ast \ 69 audio \ 70 auths \ 71 autopush \ 72 avs \ 73 awk \ 74 awk_xpg4 \ 75 backup \ 76 banner \ 77 bart \ 78 basename \ 79 bc \ 80 bdiff \ 81 beadm \ 82 bnu \ 83 boot \ 84 busstat \ 85 cal \ 86 calendar \ 87 captoinfo \ 88 cat \ 89 cdrw \ 90 cfgadm \ 91 checkeq \ 92 checknr \ 93 chgrp \ 94 chmod \ 95 chown \ 96 chroot \ 97 clear \ 98 clinfo \ 99 cmd-crypto \ 100 cmd-inet \ 101 col \ 102 compress \ 103 consadm \ 104 coreadm \ 105 cpio \ 106 cpc \ 107 cron \ 108 crypt \ 109 csh \ 110 csplit \ 111 ctfconvert \ 112 ctfdiff \ 113 ctfdump \ 114 ctfmerge \ 115 ctrun \ 116 ctstat \ 117 ctwatch \ 118 datadm \ 119 date \ 120 dc \ 121 dd \ 122 deroff \ 123 devfsadm \ 124 syseventd \ 125 devctl \ 126 devinfo \ 127 devmgmt \ 128 devprop \ 129 dfs.cmds \ 130 diff \ 131 diff3 \ 132 diffmk \ 133 dircmp \ 134 dirname \ 135 dis \ 136 diskmgtd \ 137 dispadmin \ 138 dladm \ 139 dlstat \ 140 dlutil \ 141 dmesg \ 142 dodatadm \ 143 dtrace \ 144 du \ 145 dumpadm \ 146 dumpcs \ 147 echo \ 148 ed \ 149 eeprom \ 150 egrep \ 151 eject \ 152 emul64ioctl \ 153 enhance \ 154 env \ 155 eqn \ 156 expand \ 157 expr \ 158 exstr \ 159 factor \ 160 false \ 161 fcinfo \ 162 fcoesvc \ 163 fdetach \ 164 fdformat \ 165 fdisk \ 166 ficl \ 167 filesync \ 168 fgrep \ 169 file \ 170 find \ 171 flowadm \ 172 flowstat \ 173 fm \ 174 fmt \ 175 fmthard \ 176 fmtmsg \ 177 fold \ 178 format \ 179 fs.d \ 180 fstyp \ 181 fuser \ 182 fwflash \ 183 gcore \ 184 gencat \ 185 geniconvtbl \ 186 genmsg \ 187 getconf \ 188 getdevpolicy \ 189 getent \ 190 getfacl \ 191 getmajor \ 192 getopt \ 193 gettext \ 194 gettxt \ 195 grep \ 196 grep_xpg4 \ 197 groups \ 198 growfs \ 199 grpck \ 200 gss \ 201 hal \ 202 halt \ 203 head \ 204 hostid \ 205 hostname \ 206 hotplug \ 207 hotplugd \ 208 ibd_upgrade \ 209 id \ 210 idmap \ 211 infocmp \ 212 init \ 213 initpkg \ 214 install.d \ 215 intrd \ 216 intrstat \ 217 ipcrm \ 218 ipcs \ 219 ipdadm \ 220 ipf \ 221 isainfo \ 222 isalist \ 223 itutools \ 224 iscsiadm \ 225 iscsid \ 226 iscsitsvc \ 227 isns \ 228 itadm \ 229 kbd \ 230 keyserv \ 231 killall \ 232 krb5 \ 233 ksh \ 234 kvmstat \ 235 last \ 236 lastcomm \ 237 latencytop \ 238 ldap \ 239 ldapcachemgr \ 240 lgrpinfo \ 241 line \ 242 link \ 243 dlmgmtd \ 244 listen \ 245 loadkeys \ 246 locale \ 247 localedef \ 248 lockstat \ 249 locator \ 250 lofiadm \ 251 logadm \ 252 logger \ 253 login \ 254 logins \ 255 look \ 256 ls \ 257 luxadm \ 258 mach \ 259 mail \ 260 mailwrapper \ 261 mailx \ 262 make \ 263 makekey \ 264 man \ 265 mandoc \ 266 mdb \ 267 mesg \ 268 mkdir \ 269 mkfifo \ 270 mkfile \ 271 mkmsgs \ 272 mknod \ 273 mkpwdict \ 274 mktemp \ 275 modload \ 276 more \ 277 mpathadm \ 278 msgfmt \ 279 msgid \ 280 mt \ 281 mv \ 282 mvdir \ 283 ndmpadm \ 284 ndmpd \ 285 ndmpstat \ 286 netadm \ 287 netfiles \ 288 newform \ 289 newgrp \ 290 news \ 291 newtask \ 292 nice \ 293 nl \ 294 nlsadmin \ 295 nohup \ 296 nsadmin \ 297 nscd \ 298 oamuser \ 299 oawk \ 300 od \ 301 pack \ 302 pagesize \ 303 passmgmt \ 304 passwd \ 305 pathchk \ 306 pbind \ 307 pcidr \ 308 pcitool \ 309 pfexec \ 310 pfexecd \ 311 pginfo \ 312 pgstat \ 313 pgrep \ 314 picl \ 315 plimit \ 316 policykit \ 317 pools \ 318 power \ 319 powertop \ 320 ppgsz \ 321 pg \ 322 plockstat \ 323 pr \ 324 prctl \ 325 print \ 326 printf \ 327 priocntl \ 328 profiles \ 329 projadd \ 330 projects \ 331 prstat \ 332 prtconf \ 333 prtdiag \ 334 prtvtoc \ 335 ps \ 336 psradm \ 337 psrinfo \ 338 psrset \ 339 ptools \ 340 pwck \ 341 pwconv \ 342 pwd \ 343 pyzfs \ 344 raidctl \ 345 ramdiskadm \ 346 rcap \ 347 rcm_daemon \ 348 rctladm \ 349 refer \ 350 regcmp \ 351 renice \ 352 rexd \ 353 rm \ 354 rmdir \ 355 rmformat \ 356 rmmount \ 357 rmt \ 358 rmvolmgr \ 359 roles \ 360 rpcbind \ 361 rpcgen \ 362 rpcinfo \ 363 rpcsvc \ 364 runat \ 365 sa \ 366 saf \ 367 sasinfo \ 368 savecore \ 369 sbdadm \ 370 script \ 371 scsi \ 372 sdiff \ 373 sdpadm \ 374 sed \ 375 sendmail \ 376 setfacl \ 377 setmnt \ 378 setpgrp \ 379 setuname \ 380 sgs \ 381 sh \ 382 shcomp \ 383 smbios \ 384 smbsrv \ 385 smserverd \ 386 soelim \ 387 sort \ 388 spell \ 389 split \ 390 sqlite \ 391 srchtxt \ 392 srptadm \ 393 srptsvc \ 394 stat \ 395 stmfadm \ 396 stmfproxy \ 397 stmfsvc \ 398 stmsboot \ 399 streams \ 400 strings \ 401 su \ 402 sulogin \ 403 sunpc \ 404 svc \ 405 svr4pkg \ 406 swap \ 407 sync \ 408 sysdef \ 409 syseventadm \ 410 syslogd \ 411 tabs \ 412 tail \ 413 tar \ 414 tbl \ 415 tcopy \ 416 tcpd \ 417 terminfo \ 418 th_tools \ 419 tic \ 420 time \ 421 tip \ 422 tnf \ 423 touch \ 424 tput \ 425 tr \ 426 trapstat \ 427 troff \ 428 true \ 429 truss \ 430 tsol \ 431 tty \ 432 ttymon \ 433 tzreload \ 434 uadmin \ 435 ul \ 436 uname \ 437 units \ 438 unlink \ 439 unpack \ 440 userattr \ 441 users \ 442 utmp_update \ 443 utmpd \ 444 uuidgen \ 445 valtools \ 446 vgrind \ 447 vi \ 448 volcheck \ 449 volrmmount \ 450 vrrpadm \ 451 vscan \ 452 vt \ 453 w \ 454 wall \ 455 which \ 456 who \ 457 whodo \ 458 wracct \ 459 write \ 460 xargs \ 461 xstr \ 462 yes \ 463 ypcmd \ 464 yppasswd \ 465 zdb \ 466 zdump \ 467 zevadm \ 468 zfs \ 469 zhack \ 470 zic \ 471 zinject \ 472 zlogin \ 473 zoneadm \ 474 zoneadmd \ 475 zonecfg \ 476 zonename \ 477 zpool \ 478 zlook \ 479 zonestat \ 480 zstreamdump \ 481 ztest 482 483i386_SUBDIRS= \ 484 acpi \ 485 acpihpd \ 486 addbadsec \ 487 biosdev \ 488 diskscan \ 489 nvmeadm \ 490 rtc \ 491 ucodeadm 492 493sparc_SUBDIRS= \ 494 cvcd \ 495 dcs \ 496 device_remap \ 497 drd \ 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' comes first 511# (see previous comment about 'lp'.) 512# 513MSGSUBDIRS= \ 514 lp \ 515 abi \ 516 acctadm \ 517 allocate \ 518 arcflush \ 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 last \ 617 ldap \ 618 ldapcachemgr \ 619 lgrpinfo \ 620 locale \ 621 lofiadm \ 622 logadm \ 623 logger \ 624 logins \ 625 ls \ 626 luxadm \ 627 mailx \ 628 make \ 629 man \ 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 stat \ 697 stmfadm \ 698 stmsboot \ 699 strings \ 700 su \ 701 svc \ 702 svr4pkg \ 703 swap \ 704 syseventadm \ 705 syseventd \ 706 tabs \ 707 tar \ 708 tbl \ 709 time \ 710 tnf \ 711 touch \ 712 tput \ 713 troff \ 714 tsol \ 715 tty \ 716 ttymon \ 717 tzreload \ 718 ul \ 719 uname \ 720 units \ 721 unlink \ 722 unpack \ 723 userattr \ 724 valtools \ 725 vgrind \ 726 vi \ 727 volcheck \ 728 volrmmount \ 729 vrrpadm \ 730 vscan \ 731 w \ 732 who \ 733 whodo \ 734 wracct \ 735 write \ 736 xargs \ 737 yppasswd \ 738 zdump \ 739 zevadm \ 740 zfs \ 741 zic \ 742 zlogin \ 743 zoneadm \ 744 zoneadmd \ 745 zonecfg \ 746 zonename \ 747 zpool \ 748 zonestat 749 750sparc_MSGSUBDIRS= \ 751 fruadm \ 752 prtdscp \ 753 prtfru \ 754 virtinfo \ 755 vntsd 756 757i386_MSGSUBDIRS= \ 758 ucodeadm 759 760# 761# commands that use dcgettext for localized time, LC_TIME 762# 763DCSUBDIRS= \ 764 cal \ 765 cfgadm \ 766 diff \ 767 ls \ 768 pr \ 769 ps \ 770 tar \ 771 w \ 772 who \ 773 whodo \ 774 write 775 776# 777# commands that belong only to audit. 778# 779AUDITSUBDIRS= \ 780 amt \ 781 audit \ 782 audit_warn \ 783 auditconfig \ 784 auditd \ 785 auditrecord \ 786 auditreduce \ 787 auditset \ 788 auditstat \ 789 praudit 790 791# 792# commands not owned by the systems group 793# 794BWOSDIRS= 795 796 797all := TARGET = all 798install := TARGET = install 799clean := TARGET = clean 800clobber := TARGET = clobber 801lint := TARGET = lint 802_msg := TARGET = _msg 803_dc := TARGET = _dc 804 805.KEEP_STATE: 806 807SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 808 809.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 810 811all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 812 $(AUDITSUBDIRS) 813 814# 815# Manifests cannot be checked in parallel, because we are using 816# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 817# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 818# we spawn off a sub-make to perform the non-parallel 'make check' 819# 820check: 821 $(MAKE) -f Makefile.check check 822 823# 824# The .WAIT directive works around an apparent bug in parallel make. 825# Evidently make was getting the target _msg vs. _dc confused under 826# some level of parallelization, causing some of the _dc objects 827# not to be built. 828# 829_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 830 831_dc: $(DCSUBDIRS) 832 833# 834# Dependencies 835# 836fs.d: fstyp 837ksh: shcomp isaexec 838mdb: terminfo 839print: lp 840fmt: mailx 841 842$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 843 @if [ -f $@/Makefile ]; then \ 844 cd $@; pwd; $(MAKE) $(TARGET); \ 845 else \ 846 true; \ 847 fi 848 849FRC: 850