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 i2cadm \ 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 iscsiadm \ 226 iscsid \ 227 iscsitsvc \ 228 isns \ 229 itadm \ 230 kbd \ 231 keyserv \ 232 killall \ 233 krb5 \ 234 ktest \ 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 pcidb \ 310 pcidr \ 311 pcieadm \ 312 pcieb \ 313 pcitool \ 314 pfexec \ 315 pfexecd \ 316 pginfo \ 317 pgstat \ 318 pgrep \ 319 picl \ 320 plimit \ 321 policykit \ 322 pools \ 323 power \ 324 powertop \ 325 ppgsz \ 326 pg \ 327 plockstat \ 328 pr \ 329 prctl \ 330 print \ 331 printf \ 332 priocntl \ 333 profiles \ 334 projadd \ 335 projects \ 336 prstat \ 337 prtconf \ 338 prtdiag \ 339 prtvtoc \ 340 ps \ 341 psradm \ 342 psrinfo \ 343 psrset \ 344 ptools \ 345 pwck \ 346 pwconv \ 347 pwd \ 348 raidctl \ 349 raidz_test \ 350 ramdiskadm \ 351 rcap \ 352 rcm_daemon \ 353 rctladm \ 354 refer \ 355 regcmp \ 356 renice \ 357 rm \ 358 rmdir \ 359 rmformat \ 360 rmmount \ 361 rmt \ 362 rmvolmgr \ 363 roles \ 364 rpcbind \ 365 rpcgen \ 366 rpcinfo \ 367 rpcsvc \ 368 runat \ 369 sa \ 370 saf \ 371 sasinfo \ 372 savecore \ 373 sbdadm \ 374 script \ 375 scsi \ 376 sdiff \ 377 sdpadm \ 378 sed \ 379 sendmail \ 380 setfacl \ 381 setmnt \ 382 setpgrp \ 383 sgs \ 384 sh \ 385 sleep \ 386 smbios \ 387 smbsrv \ 388 smserverd \ 389 soelim \ 390 sort \ 391 spd \ 392 spell \ 393 split \ 394 sqlite \ 395 srchtxt \ 396 srptadm \ 397 srptsvc \ 398 ssh \ 399 stat \ 400 stmfadm \ 401 stmfproxy \ 402 stmfsvc \ 403 stmsboot \ 404 streams \ 405 strings \ 406 su \ 407 sulogin \ 408 sunpc \ 409 svc \ 410 svr4pkg \ 411 swap \ 412 sync \ 413 sysdef \ 414 syseventadm \ 415 syslogd \ 416 tabs \ 417 tail \ 418 tar \ 419 tbl \ 420 tcopy \ 421 tcpd \ 422 th_tools \ 423 tic \ 424 time \ 425 tip \ 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 ficl \ 499 nvmeadm \ 500 pptadm \ 501 rdmsr \ 502 rsrvrctl \ 503 rtc \ 504 ucodeadm \ 505 xhci \ 506 xvm 507 508sparc_SUBDIRS= \ 509 dcs \ 510 device_remap \ 511 drd \ 512 fruadm \ 513 ldmad \ 514 oplhpd \ 515 prtdscp \ 516 prtfru \ 517 scadm \ 518 sckmd \ 519 sf880drd \ 520 virtinfo \ 521 vntsd 522 523# 524# Commands that are messaged. Note that 'lp' comes first 525# (see previous comment about 'lp'.) 526# 527MSGSUBDIRS= \ 528 lp \ 529 abi \ 530 acctadm \ 531 allocate \ 532 asa \ 533 ast \ 534 audio \ 535 audit \ 536 auditconfig \ 537 auditd \ 538 auditrecord \ 539 auditset \ 540 auths \ 541 autopush \ 542 awk \ 543 awk_xpg4 \ 544 backup \ 545 banner \ 546 bart \ 547 basename \ 548 beadm \ 549 bnu \ 550 busstat \ 551 cal \ 552 cat \ 553 cdrw \ 554 cfgadm \ 555 checkeq \ 556 checknr \ 557 chgrp \ 558 chmod \ 559 chown \ 560 cmd-crypto \ 561 cmd-inet \ 562 col \ 563 compress \ 564 connstat \ 565 consadm \ 566 coreadm \ 567 cpio \ 568 cpc \ 569 cron \ 570 csh \ 571 csplit \ 572 ctrun \ 573 ctstat \ 574 ctwatch \ 575 datadm \ 576 date \ 577 dc \ 578 dcs \ 579 dd \ 580 deroff \ 581 devfsadm \ 582 dfs.cmds \ 583 diff \ 584 diffmk \ 585 dladm \ 586 dlstat \ 587 du \ 588 dumpcs \ 589 ed \ 590 eject \ 591 env \ 592 eqn \ 593 expand \ 594 expr \ 595 fcinfo \ 596 file \ 597 filesync \ 598 find \ 599 flowadm \ 600 flowstat \ 601 fm \ 602 fold \ 603 fs.d \ 604 fwflash \ 605 geniconvtbl \ 606 genmsg \ 607 getconf \ 608 getent \ 609 gettext \ 610 gettxt \ 611 grep \ 612 grpck \ 613 gss \ 614 halt \ 615 head \ 616 hostname \ 617 hotplug \ 618 iconv \ 619 id \ 620 idmap \ 621 isaexec \ 622 iscsiadm \ 623 iscsid \ 624 isns \ 625 itadm \ 626 kbd \ 627 krb5 \ 628 last \ 629 ldap \ 630 ldapcachemgr \ 631 lgrpinfo \ 632 locale \ 633 lofiadm \ 634 logadm \ 635 logger \ 636 logins \ 637 ls \ 638 luxadm \ 639 mailx \ 640 make \ 641 man \ 642 mesg \ 643 mkdir \ 644 mkpwdict \ 645 mktemp \ 646 more \ 647 mpathadm \ 648 msgfmt \ 649 mv \ 650 ndmpadm \ 651 ndmpstat \ 652 newgrp \ 653 newtask \ 654 nice \ 655 nohup \ 656 oawk \ 657 pack \ 658 passwd \ 659 passmgmt \ 660 pathchk \ 661 pfexec \ 662 pg \ 663 pgrep \ 664 picl \ 665 pools \ 666 power \ 667 pr \ 668 praudit \ 669 print \ 670 profiles \ 671 projadd \ 672 projects \ 673 prstat \ 674 prtdiag \ 675 ps \ 676 psrinfo \ 677 ptools \ 678 pwconv \ 679 pwd \ 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 touch \ 721 tput \ 722 troff \ 723 tsol \ 724 tty \ 725 ttymon \ 726 tzreload \ 727 ul \ 728 uname \ 729 units \ 730 unlink \ 731 unpack \ 732 userattr \ 733 valtools \ 734 vgrind \ 735 vi \ 736 volcheck \ 737 volrmmount \ 738 vrrpadm \ 739 vscan \ 740 w \ 741 who \ 742 whodo \ 743 wracct \ 744 write \ 745 xargs \ 746 yppasswd \ 747 zdump \ 748 zfs \ 749 zic \ 750 zlogin \ 751 zoneadm \ 752 zoneadmd \ 753 zonecfg \ 754 zonename \ 755 zpool \ 756 zonestat 757 758sparc_MSGSUBDIRS= \ 759 fruadm \ 760 prtdscp \ 761 prtfru \ 762 virtinfo \ 763 vntsd 764 765i386_MSGSUBDIRS= \ 766 rdmsr \ 767 ucodeadm 768 769# 770# commands that use dcgettext for localized time, LC_TIME 771# 772DCSUBDIRS= \ 773 cal \ 774 cfgadm \ 775 diff \ 776 ls \ 777 pr \ 778 ps \ 779 tar \ 780 w \ 781 who \ 782 whodo \ 783 write 784 785# 786# commands that belong only to audit. 787# 788AUDITSUBDIRS= \ 789 amt \ 790 audit \ 791 audit_warn \ 792 auditconfig \ 793 auditd \ 794 auditrecord \ 795 auditreduce \ 796 auditset \ 797 auditstat \ 798 praudit 799 800all := TARGET = all 801install := TARGET = install 802clean := TARGET = clean 803clobber := TARGET = clobber 804_msg := TARGET = _msg 805_dc := TARGET = _dc 806 807.KEEP_STATE: 808 809SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 810 811.PARALLEL: $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 812 813all install clean clobber: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 814 $(AUDITSUBDIRS) 815 816# 817# Manifests cannot be checked in parallel, because we are using 818# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 819# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 820# we spawn off a sub-make to perform the non-parallel 'make check' 821# 822check: 823 $(MAKE) -f Makefile.check check 824 825# 826# The .WAIT directive works around an apparent bug in parallel make. 827# Evidently make was getting the target _msg vs. _dc confused under 828# some level of parallelization, causing some of the _dc objects 829# not to be built. 830# 831_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 832 833_dc: $(DCSUBDIRS) 834 835# 836# Dependencies 837# 838fs.d: fstyp 839ast: isaexec 840print: lp 841fmt: mailx 842 843$(FIRST_SUBDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 844 cd $@; pwd; $(MAKE) $(TARGET) 845 846FRC: 847