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