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