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 raidctl \ 347 raidz_test \ 348 ramdiskadm \ 349 rcap \ 350 rcm_daemon \ 351 rctladm \ 352 refer \ 353 regcmp \ 354 renice \ 355 rm \ 356 rmdir \ 357 rmformat \ 358 rmmount \ 359 rmt \ 360 rmvolmgr \ 361 roles \ 362 rpcbind \ 363 rpcgen \ 364 rpcinfo \ 365 rpcsvc \ 366 runat \ 367 sa \ 368 saf \ 369 sasinfo \ 370 savecore \ 371 sbdadm \ 372 script \ 373 scsi \ 374 sdiff \ 375 sdpadm \ 376 sed \ 377 sendmail \ 378 setfacl \ 379 setmnt \ 380 setpgrp \ 381 sgs \ 382 sh \ 383 sleep \ 384 smbios \ 385 smbsrv \ 386 smserverd \ 387 soelim \ 388 sort \ 389 spell \ 390 split \ 391 sqlite \ 392 srchtxt \ 393 srptadm \ 394 srptsvc \ 395 ssh \ 396 stat \ 397 stmfadm \ 398 stmfproxy \ 399 stmfsvc \ 400 stmsboot \ 401 streams \ 402 strings \ 403 su \ 404 sulogin \ 405 sunpc \ 406 svc \ 407 svr4pkg \ 408 swap \ 409 sync \ 410 sysdef \ 411 syseventadm \ 412 syslogd \ 413 tabs \ 414 tail \ 415 tar \ 416 tbl \ 417 tcopy \ 418 tcpd \ 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 varpd \ 448 vgrind \ 449 vi \ 450 volcheck \ 451 volrmmount \ 452 vrrpadm \ 453 vscan \ 454 vt \ 455 vtfontcvt \ 456 w \ 457 wall \ 458 which \ 459 who \ 460 whodo \ 461 wracct \ 462 write \ 463 xargs \ 464 xstr \ 465 yes \ 466 ypcmd \ 467 yppasswd \ 468 zdb \ 469 zdump \ 470 zfs \ 471 zhack \ 472 zic \ 473 zinject \ 474 zlogin \ 475 zoneadm \ 476 zoneadmd \ 477 zonecfg \ 478 zonename \ 479 zpool \ 480 zlook \ 481 zonestat \ 482 zstreamdump \ 483 ztest 484 485i386_SUBDIRS= \ 486 acpi \ 487 acpihpd \ 488 addbadsec \ 489 ahciem \ 490 amdzen \ 491 bhyve \ 492 bhyvectl \ 493 biosdev \ 494 cxgbetool \ 495 diskscan \ 496 nvmeadm \ 497 pptadm \ 498 rdmsr \ 499 rsrvrctl \ 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 raidctl \ 678 ramdiskadm \ 679 rcap \ 680 rcm_daemon \ 681 refer \ 682 regcmp \ 683 renice \ 684 roles \ 685 rm \ 686 rmdir \ 687 rmformat \ 688 rmmount \ 689 rmvolmgr \ 690 sasinfo \ 691 sbdadm \ 692 scadm \ 693 script \ 694 scsi \ 695 sdiff \ 696 sdpadm \ 697 sgs \ 698 sh \ 699 smbsrv \ 700 sort \ 701 split \ 702 srptadm \ 703 stat \ 704 stmfadm \ 705 stmsboot \ 706 strings \ 707 su \ 708 svc \ 709 svr4pkg \ 710 swap \ 711 syseventadm \ 712 syseventd \ 713 tabs \ 714 tar \ 715 tbl \ 716 time \ 717 tnf \ 718 touch \ 719 tput \ 720 troff \ 721 tsol \ 722 tty \ 723 ttymon \ 724 tzreload \ 725 ul \ 726 uname \ 727 units \ 728 unlink \ 729 unpack \ 730 userattr \ 731 valtools \ 732 vgrind \ 733 vi \ 734 volcheck \ 735 volrmmount \ 736 vrrpadm \ 737 vscan \ 738 w \ 739 who \ 740 whodo \ 741 wracct \ 742 write \ 743 xargs \ 744 yppasswd \ 745 zdump \ 746 zfs \ 747 zic \ 748 zlogin \ 749 zoneadm \ 750 zoneadmd \ 751 zonecfg \ 752 zonename \ 753 zpool \ 754 zonestat 755 756sparc_MSGSUBDIRS= \ 757 fruadm \ 758 prtdscp \ 759 prtfru \ 760 virtinfo \ 761 vntsd 762 763i386_MSGSUBDIRS= \ 764 rdmsr \ 765 ucodeadm 766 767# 768# commands that use dcgettext for localized time, LC_TIME 769# 770DCSUBDIRS= \ 771 cal \ 772 cfgadm \ 773 diff \ 774 ls \ 775 pr \ 776 ps \ 777 tar \ 778 w \ 779 who \ 780 whodo \ 781 write 782 783# 784# commands that belong only to audit. 785# 786AUDITSUBDIRS= \ 787 amt \ 788 audit \ 789 audit_warn \ 790 auditconfig \ 791 auditd \ 792 auditrecord \ 793 auditreduce \ 794 auditset \ 795 auditstat \ 796 praudit 797 798all := TARGET = all 799install := TARGET = install 800clean := TARGET = clean 801clobber := TARGET = clobber 802_msg := TARGET = _msg 803_dc := TARGET = _dc 804 805.KEEP_STATE: 806 807SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 808 809.PARALLEL: $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 810 811all install clean clobber: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 812 $(AUDITSUBDIRS) 813 814# 815# Manifests cannot be checked in parallel, because we are using 816# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 817# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 818# we spawn off a sub-make to perform the non-parallel 'make check' 819# 820check: 821 $(MAKE) -f Makefile.check check 822 823# 824# The .WAIT directive works around an apparent bug in parallel make. 825# Evidently make was getting the target _msg vs. _dc confused under 826# some level of parallelization, causing some of the _dc objects 827# not to be built. 828# 829_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 830 831_dc: $(DCSUBDIRS) 832 833# 834# Dependencies 835# 836fs.d: fstyp 837ast: isaexec 838print: lp 839fmt: mailx 840 841$(FIRST_SUBDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 842 cd $@; pwd; $(MAKE) $(TARGET) 843 844FRC: 845