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