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 ficl \ 169 filesync \ 170 file \ 171 find \ 172 flowadm \ 173 flowstat \ 174 fm \ 175 fmt \ 176 fmthard \ 177 fmtmsg \ 178 fold \ 179 format \ 180 fs.d \ 181 fstyp \ 182 fuser \ 183 fwflash \ 184 gcore \ 185 gencat \ 186 geniconvtbl \ 187 genmsg \ 188 getconf \ 189 getdevpolicy \ 190 getent \ 191 getfacl \ 192 getmajor \ 193 getopt \ 194 gettext \ 195 gettxt \ 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 kvmstat \ 234 last \ 235 lastcomm \ 236 latencytop \ 237 ldap \ 238 ldapcachemgr \ 239 lgrpinfo \ 240 line \ 241 link \ 242 dlmgmtd \ 243 listen \ 244 loadkeys \ 245 locale \ 246 localedef \ 247 lockstat \ 248 locator \ 249 lofiadm \ 250 logadm \ 251 logger \ 252 login \ 253 logins \ 254 logname \ 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 pcidb \ 308 pcidr \ 309 pcieadm \ 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 varpd \ 450 vgrind \ 451 vi \ 452 volcheck \ 453 volrmmount \ 454 vrrpadm \ 455 vscan \ 456 vt \ 457 vtfontcvt \ 458 w \ 459 wall \ 460 which \ 461 who \ 462 whodo \ 463 wracct \ 464 write \ 465 xargs \ 466 xstr \ 467 yes \ 468 ypcmd \ 469 yppasswd \ 470 zdb \ 471 zdump \ 472 zfs \ 473 zhack \ 474 zic \ 475 zinject \ 476 zlogin \ 477 zoneadm \ 478 zoneadmd \ 479 zonecfg \ 480 zonename \ 481 zpool \ 482 zlook \ 483 zonestat \ 484 zstreamdump \ 485 ztest 486 487i386_SUBDIRS= \ 488 acpi \ 489 acpihpd \ 490 addbadsec \ 491 ahciem \ 492 amdzen \ 493 bhyve \ 494 bhyvectl \ 495 biosdev \ 496 cxgbetool \ 497 diskscan \ 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 pyzfs \ 680 raidctl \ 681 ramdiskadm \ 682 rcap \ 683 rcm_daemon \ 684 refer \ 685 regcmp \ 686 renice \ 687 roles \ 688 rm \ 689 rmdir \ 690 rmformat \ 691 rmmount \ 692 rmvolmgr \ 693 sasinfo \ 694 sbdadm \ 695 scadm \ 696 script \ 697 scsi \ 698 sdiff \ 699 sdpadm \ 700 sgs \ 701 sh \ 702 smbsrv \ 703 sort \ 704 split \ 705 srptadm \ 706 stat \ 707 stmfadm \ 708 stmsboot \ 709 strings \ 710 su \ 711 svc \ 712 svr4pkg \ 713 swap \ 714 syseventadm \ 715 syseventd \ 716 tabs \ 717 tar \ 718 tbl \ 719 time \ 720 tnf \ 721 touch \ 722 tput \ 723 troff \ 724 tsol \ 725 tty \ 726 ttymon \ 727 tzreload \ 728 ul \ 729 uname \ 730 units \ 731 unlink \ 732 unpack \ 733 userattr \ 734 valtools \ 735 vgrind \ 736 vi \ 737 volcheck \ 738 volrmmount \ 739 vrrpadm \ 740 vscan \ 741 w \ 742 who \ 743 whodo \ 744 wracct \ 745 write \ 746 xargs \ 747 yppasswd \ 748 zdump \ 749 zfs \ 750 zic \ 751 zlogin \ 752 zoneadm \ 753 zoneadmd \ 754 zonecfg \ 755 zonename \ 756 zpool \ 757 zonestat 758 759sparc_MSGSUBDIRS= \ 760 fruadm \ 761 prtdscp \ 762 prtfru \ 763 virtinfo \ 764 vntsd 765 766i386_MSGSUBDIRS= \ 767 rdmsr \ 768 ucodeadm 769 770# 771# commands that use dcgettext for localized time, LC_TIME 772# 773DCSUBDIRS= \ 774 cal \ 775 cfgadm \ 776 diff \ 777 ls \ 778 pr \ 779 ps \ 780 tar \ 781 w \ 782 who \ 783 whodo \ 784 write 785 786# 787# commands that belong only to audit. 788# 789AUDITSUBDIRS= \ 790 amt \ 791 audit \ 792 audit_warn \ 793 auditconfig \ 794 auditd \ 795 auditrecord \ 796 auditreduce \ 797 auditset \ 798 auditstat \ 799 praudit 800 801all := TARGET = all 802install := TARGET = install 803clean := TARGET = clean 804clobber := TARGET = clobber 805_msg := TARGET = _msg 806_dc := TARGET = _dc 807 808.KEEP_STATE: 809 810SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 811 812.PARALLEL: $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 813 814all install clean clobber: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 815 $(AUDITSUBDIRS) 816 817# 818# Manifests cannot be checked in parallel, because we are using 819# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 820# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 821# we spawn off a sub-make to perform the non-parallel 'make check' 822# 823check: 824 $(MAKE) -f Makefile.check check 825 826# 827# The .WAIT directive works around an apparent bug in parallel make. 828# Evidently make was getting the target _msg vs. _dc confused under 829# some level of parallelization, causing some of the _dc objects 830# not to be built. 831# 832_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 833 834_dc: $(DCSUBDIRS) 835 836# 837# Dependencies 838# 839fs.d: fstyp 840ast: isaexec 841print: lp 842fmt: mailx 843 844$(FIRST_SUBDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 845 cd $@; pwd; $(MAKE) $(TARGET) 846 847FRC: 848