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 dispadmin \ 140 dladm \ 141 dlstat \ 142 dlutil \ 143 dmesg \ 144 dodatadm \ 145 dtrace \ 146 du \ 147 dumpadm \ 148 dumpcs \ 149 echo \ 150 ed \ 151 eeprom \ 152 eject \ 153 emul64ioctl \ 154 enhance \ 155 env \ 156 eqn \ 157 etdump \ 158 expand \ 159 expr \ 160 exstr \ 161 factor \ 162 false \ 163 fcinfo \ 164 fcoesvc \ 165 fdetach \ 166 fdformat \ 167 fdisk \ 168 filesync \ 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 gpioadm \ 196 grep \ 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 iconv \ 210 id \ 211 idmap \ 212 infocmp \ 213 init \ 214 initpkg \ 215 install.d \ 216 intrd \ 217 intrstat \ 218 ipcrm \ 219 ipcs \ 220 ipdadm \ 221 ipf \ 222 isainfo \ 223 isalist \ 224 iscsiadm \ 225 iscsid \ 226 iscsitsvc \ 227 isns \ 228 itadm \ 229 kbd \ 230 keyserv \ 231 killall \ 232 krb5 \ 233 ktest \ 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 logname \ 256 look \ 257 ls \ 258 luxadm \ 259 mach \ 260 mail \ 261 mailwrapper \ 262 mailx \ 263 make \ 264 makekey \ 265 man \ 266 mandoc \ 267 mdb \ 268 mesg \ 269 mkdir \ 270 mkfifo \ 271 mkfile \ 272 mkmsgs \ 273 mknod \ 274 mkpwdict \ 275 mktemp \ 276 modload \ 277 more \ 278 mpathadm \ 279 msgfmt \ 280 msgid \ 281 mt \ 282 mv \ 283 mvdir \ 284 ndmpadm \ 285 ndmpd \ 286 ndmpstat \ 287 netadm \ 288 netfiles \ 289 newform \ 290 newgrp \ 291 news \ 292 newtask \ 293 nice \ 294 nl \ 295 nlsadmin \ 296 nohup \ 297 nsadmin \ 298 nscd \ 299 oamuser \ 300 oawk \ 301 od \ 302 pack \ 303 pagesize \ 304 passmgmt \ 305 passwd \ 306 pathchk \ 307 pbind \ 308 pcidb \ 309 pcidr \ 310 pcieadm \ 311 pcieb \ 312 pcitool \ 313 pfexec \ 314 pfexecd \ 315 pginfo \ 316 pgstat \ 317 pgrep \ 318 picl \ 319 plimit \ 320 policykit \ 321 pools \ 322 power \ 323 powertop \ 324 ppgsz \ 325 pg \ 326 plockstat \ 327 pr \ 328 prctl \ 329 print \ 330 printf \ 331 priocntl \ 332 profiles \ 333 projadd \ 334 projects \ 335 prstat \ 336 prtconf \ 337 prtdiag \ 338 prtvtoc \ 339 ps \ 340 psradm \ 341 psrinfo \ 342 psrset \ 343 ptools \ 344 pwck \ 345 pwconv \ 346 pwd \ 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 sgs \ 383 sh \ 384 sleep \ 385 smbios \ 386 smbsrv \ 387 smserverd \ 388 soelim \ 389 sort \ 390 spd \ 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 touch \ 426 tput \ 427 tr \ 428 trapstat \ 429 troff \ 430 true \ 431 truss \ 432 tsol \ 433 tty \ 434 ttymon \ 435 tzreload \ 436 uadmin \ 437 ul \ 438 uname \ 439 units \ 440 unlink \ 441 unpack \ 442 userattr \ 443 users \ 444 utmp_update \ 445 utmpd \ 446 uuidgen \ 447 valtools \ 448 varpd \ 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 ficl \ 498 nvmeadm \ 499 pptadm \ 500 rdmsr \ 501 rsrvrctl \ 502 rtc \ 503 ucodeadm \ 504 xhci \ 505 xvm 506 507sparc_SUBDIRS= \ 508 dcs \ 509 device_remap \ 510 drd \ 511 fruadm \ 512 ldmad \ 513 oplhpd \ 514 prtdscp \ 515 prtfru \ 516 scadm \ 517 sckmd \ 518 sf880drd \ 519 virtinfo \ 520 vntsd 521 522# 523# Commands that are messaged. Note that 'lp' comes first 524# (see previous comment about 'lp'.) 525# 526MSGSUBDIRS= \ 527 lp \ 528 abi \ 529 acctadm \ 530 allocate \ 531 asa \ 532 ast \ 533 audio \ 534 audit \ 535 auditconfig \ 536 auditd \ 537 auditrecord \ 538 auditset \ 539 auths \ 540 autopush \ 541 awk \ 542 awk_xpg4 \ 543 backup \ 544 banner \ 545 bart \ 546 basename \ 547 beadm \ 548 bnu \ 549 busstat \ 550 cal \ 551 cat \ 552 cdrw \ 553 cfgadm \ 554 checkeq \ 555 checknr \ 556 chgrp \ 557 chmod \ 558 chown \ 559 cmd-crypto \ 560 cmd-inet \ 561 col \ 562 compress \ 563 connstat \ 564 consadm \ 565 coreadm \ 566 cpio \ 567 cpc \ 568 cron \ 569 csh \ 570 csplit \ 571 ctrun \ 572 ctstat \ 573 ctwatch \ 574 datadm \ 575 date \ 576 dc \ 577 dcs \ 578 dd \ 579 deroff \ 580 devfsadm \ 581 dfs.cmds \ 582 diff \ 583 diffmk \ 584 dladm \ 585 dlstat \ 586 du \ 587 dumpcs \ 588 ed \ 589 eject \ 590 env \ 591 eqn \ 592 expand \ 593 expr \ 594 fcinfo \ 595 file \ 596 filesync \ 597 find \ 598 flowadm \ 599 flowstat \ 600 fm \ 601 fold \ 602 fs.d \ 603 fwflash \ 604 geniconvtbl \ 605 genmsg \ 606 getconf \ 607 getent \ 608 gettext \ 609 gettxt \ 610 grep \ 611 grpck \ 612 gss \ 613 halt \ 614 head \ 615 hostname \ 616 hotplug \ 617 iconv \ 618 id \ 619 idmap \ 620 isaexec \ 621 iscsiadm \ 622 iscsid \ 623 isns \ 624 itadm \ 625 kbd \ 626 krb5 \ 627 last \ 628 ldap \ 629 ldapcachemgr \ 630 lgrpinfo \ 631 locale \ 632 lofiadm \ 633 logadm \ 634 logger \ 635 logins \ 636 ls \ 637 luxadm \ 638 mailx \ 639 make \ 640 man \ 641 mesg \ 642 mkdir \ 643 mkpwdict \ 644 mktemp \ 645 more \ 646 mpathadm \ 647 msgfmt \ 648 mv \ 649 ndmpadm \ 650 ndmpstat \ 651 newgrp \ 652 newtask \ 653 nice \ 654 nohup \ 655 oawk \ 656 pack \ 657 passwd \ 658 passmgmt \ 659 pathchk \ 660 pfexec \ 661 pg \ 662 pgrep \ 663 picl \ 664 pools \ 665 power \ 666 pr \ 667 praudit \ 668 print \ 669 profiles \ 670 projadd \ 671 projects \ 672 prstat \ 673 prtdiag \ 674 ps \ 675 psrinfo \ 676 ptools \ 677 pwconv \ 678 pwd \ 679 raidctl \ 680 ramdiskadm \ 681 rcap \ 682 rcm_daemon \ 683 refer \ 684 regcmp \ 685 renice \ 686 roles \ 687 rm \ 688 rmdir \ 689 rmformat \ 690 rmmount \ 691 rmvolmgr \ 692 sasinfo \ 693 sbdadm \ 694 scadm \ 695 script \ 696 scsi \ 697 sdiff \ 698 sdpadm \ 699 sgs \ 700 sh \ 701 smbsrv \ 702 sort \ 703 split \ 704 srptadm \ 705 stat \ 706 stmfadm \ 707 stmsboot \ 708 strings \ 709 su \ 710 svc \ 711 svr4pkg \ 712 swap \ 713 syseventadm \ 714 syseventd \ 715 tabs \ 716 tar \ 717 tbl \ 718 time \ 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 799all := TARGET = all 800install := TARGET = install 801clean := TARGET = clean 802clobber := TARGET = clobber 803_msg := TARGET = _msg 804_dc := TARGET = _dc 805 806.KEEP_STATE: 807 808SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 809 810.PARALLEL: $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 811 812all install clean clobber: $(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 838ast: isaexec 839print: lp 840fmt: mailx 841 842$(FIRST_SUBDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 843 cd $@; pwd; $(MAKE) $(TARGET) 844 845FRC: 846