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