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 ssh \ 395 stat \ 396 stmfadm \ 397 stmfproxy \ 398 stmfsvc \ 399 stmsboot \ 400 streams \ 401 strings \ 402 su \ 403 sulogin \ 404 sunpc \ 405 svc \ 406 svr4pkg \ 407 swap \ 408 sync \ 409 sysdef \ 410 syseventadm \ 411 syslogd \ 412 tabs \ 413 tail \ 414 tar \ 415 tbl \ 416 tcopy \ 417 tcpd \ 418 terminfo \ 419 th_tools \ 420 tic \ 421 time \ 422 tip \ 423 tnf \ 424 touch \ 425 tput \ 426 tr \ 427 trapstat \ 428 troff \ 429 true \ 430 truss \ 431 tsol \ 432 tty \ 433 ttymon \ 434 tzreload \ 435 uadmin \ 436 ul \ 437 uname \ 438 units \ 439 unlink \ 440 unpack \ 441 userattr \ 442 users \ 443 utmp_update \ 444 utmpd \ 445 uuidgen \ 446 valtools \ 447 vgrind \ 448 vi \ 449 volcheck \ 450 volrmmount \ 451 vrrpadm \ 452 vscan \ 453 vt \ 454 w \ 455 wall \ 456 which \ 457 who \ 458 whodo \ 459 wracct \ 460 write \ 461 xargs \ 462 xstr \ 463 yes \ 464 ypcmd \ 465 yppasswd \ 466 zdb \ 467 zdump \ 468 zevadm \ 469 zfs \ 470 zhack \ 471 zic \ 472 zinject \ 473 zlogin \ 474 zoneadm \ 475 zoneadmd \ 476 zonecfg \ 477 zonename \ 478 zpool \ 479 zlook \ 480 zonestat \ 481 zstreamdump \ 482 ztest 483 484i386_SUBDIRS= \ 485 acpi \ 486 acpihpd \ 487 addbadsec \ 488 biosdev \ 489 diskscan \ 490 nvmeadm \ 491 rtc \ 492 ucodeadm 493 494sparc_SUBDIRS= \ 495 cvcd \ 496 dcs \ 497 device_remap \ 498 drd \ 499 fruadm \ 500 ldmad \ 501 oplhpd \ 502 prtdscp \ 503 prtfru \ 504 scadm \ 505 sckmd \ 506 sf880drd \ 507 virtinfo \ 508 vntsd 509 510# 511# Commands that are messaged. Note that 'lp' comes first 512# (see previous comment about 'lp'.) 513# 514MSGSUBDIRS= \ 515 lp \ 516 abi \ 517 acctadm \ 518 allocate \ 519 arcflush \ 520 asa \ 521 audio \ 522 audit \ 523 auditconfig \ 524 auditd \ 525 auditrecord \ 526 auditset \ 527 auths \ 528 autopush \ 529 avs \ 530 awk \ 531 awk_xpg4 \ 532 backup \ 533 banner \ 534 bart \ 535 basename \ 536 beadm \ 537 bnu \ 538 busstat \ 539 cal \ 540 cat \ 541 cdrw \ 542 cfgadm \ 543 checkeq \ 544 checknr \ 545 chgrp \ 546 chmod \ 547 chown \ 548 cmd-crypto \ 549 cmd-inet \ 550 col \ 551 compress \ 552 consadm \ 553 coreadm \ 554 cpio \ 555 cpc \ 556 cron \ 557 csh \ 558 csplit \ 559 ctrun \ 560 ctstat \ 561 ctwatch \ 562 datadm \ 563 date \ 564 dc \ 565 dcs \ 566 dd \ 567 deroff \ 568 devfsadm \ 569 dfs.cmds \ 570 diff \ 571 diffmk \ 572 dladm \ 573 dlstat \ 574 du \ 575 dumpcs \ 576 ed \ 577 eject \ 578 env \ 579 eqn \ 580 expand \ 581 expr \ 582 fcinfo \ 583 fgrep \ 584 file \ 585 filesync \ 586 find \ 587 flowadm \ 588 flowstat \ 589 fm \ 590 fold \ 591 fs.d \ 592 fwflash \ 593 geniconvtbl \ 594 genmsg \ 595 getconf \ 596 getent \ 597 gettext \ 598 gettxt \ 599 grep \ 600 grep_xpg4 \ 601 grpck \ 602 gss \ 603 halt \ 604 head \ 605 hostname \ 606 hotplug \ 607 id \ 608 idmap \ 609 isaexec \ 610 iscsiadm \ 611 iscsid \ 612 isns \ 613 itadm \ 614 kbd \ 615 krb5 \ 616 ksh \ 617 last \ 618 ldap \ 619 ldapcachemgr \ 620 lgrpinfo \ 621 locale \ 622 lofiadm \ 623 logadm \ 624 logger \ 625 logins \ 626 ls \ 627 luxadm \ 628 mailx \ 629 make \ 630 man \ 631 mesg \ 632 mkdir \ 633 mkpwdict \ 634 mktemp \ 635 more \ 636 mpathadm \ 637 msgfmt \ 638 mv \ 639 ndmpadm \ 640 ndmpstat \ 641 newgrp \ 642 newtask \ 643 nice \ 644 nohup \ 645 oawk \ 646 pack \ 647 passwd \ 648 passmgmt \ 649 pathchk \ 650 pfexec \ 651 pg \ 652 pgrep \ 653 picl \ 654 pools \ 655 power \ 656 pr \ 657 praudit \ 658 print \ 659 profiles \ 660 projadd \ 661 projects \ 662 prstat \ 663 prtdiag \ 664 ps \ 665 psrinfo \ 666 ptools \ 667 pwconv \ 668 pwd \ 669 pyzfs \ 670 raidctl \ 671 ramdiskadm \ 672 rcap \ 673 rcm_daemon \ 674 refer \ 675 regcmp \ 676 renice \ 677 roles \ 678 rm \ 679 rmdir \ 680 rmformat \ 681 rmmount \ 682 rmvolmgr \ 683 sasinfo \ 684 sbdadm \ 685 scadm \ 686 script \ 687 scsi \ 688 sdiff \ 689 sdpadm \ 690 sgs \ 691 sh \ 692 shcomp \ 693 smbsrv \ 694 sort \ 695 split \ 696 srptadm \ 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 xargs \ 738 yppasswd \ 739 zdump \ 740 zevadm \ 741 zfs \ 742 zic \ 743 zlogin \ 744 zoneadm \ 745 zoneadmd \ 746 zonecfg \ 747 zonename \ 748 zpool \ 749 zonestat 750 751sparc_MSGSUBDIRS= \ 752 fruadm \ 753 prtdscp \ 754 prtfru \ 755 virtinfo \ 756 vntsd 757 758i386_MSGSUBDIRS= \ 759 ucodeadm 760 761# 762# commands that use dcgettext for localized time, LC_TIME 763# 764DCSUBDIRS= \ 765 cal \ 766 cfgadm \ 767 diff \ 768 ls \ 769 pr \ 770 ps \ 771 tar \ 772 w \ 773 who \ 774 whodo \ 775 write 776 777# 778# commands that belong only to audit. 779# 780AUDITSUBDIRS= \ 781 amt \ 782 audit \ 783 audit_warn \ 784 auditconfig \ 785 auditd \ 786 auditrecord \ 787 auditreduce \ 788 auditset \ 789 auditstat \ 790 praudit 791 792# 793# commands not owned by the systems group 794# 795BWOSDIRS= 796 797 798all := TARGET = all 799install := TARGET = install 800clean := TARGET = clean 801clobber := TARGET = clobber 802lint := TARGET = lint 803_msg := TARGET = _msg 804_dc := TARGET = _dc 805 806.KEEP_STATE: 807 808SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 809 810.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 811 812all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 813 $(AUDITSUBDIRS) 814 815# 816# Manifests cannot be checked in parallel, because we are using 817# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 818# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 819# we spawn off a sub-make to perform the non-parallel 'make check' 820# 821check: 822 $(MAKE) -f Makefile.check check 823 824# 825# The .WAIT directive works around an apparent bug in parallel make. 826# Evidently make was getting the target _msg vs. _dc confused under 827# some level of parallelization, causing some of the _dc objects 828# not to be built. 829# 830_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 831 832_dc: $(DCSUBDIRS) 833 834# 835# Dependencies 836# 837fs.d: fstyp 838ksh: shcomp isaexec 839mdb: terminfo 840print: lp 841fmt: mailx 842 843$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 844 @if [ -f $@/Makefile ]; then \ 845 cd $@; pwd; $(MAKE) $(TARGET); \ 846 else \ 847 true; \ 848 fi 849 850FRC: 851