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