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# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 23# Copyright 2015 Nexenta Systems, Inc. All rights reserved. 24# Copyright 2016 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 30include ../Makefile.master 31 32# 33# Note that the commands 'lp', and 'perl' are first in 34# the list, violating alphabetical order. This is because they are very 35# long-running and should be given the most wall-clock time for a 36# parallel build. 37# 38# Commands in the FIRST_SUBDIRS list are built before starting the build 39# of other commands. Currently this includes only 'isaexec' and 40# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or 41# $(ROOT)/usr/lib/platexec must exist when some other commands are built 42# because their 'make install' creates a hard link to one of them. 43# 44# Commands are listed one per line so that TeamWare can auto-merge most 45# changes. 46# 47 48FIRST_SUBDIRS= \ 49 isaexec \ 50 platexec 51 52COMMON_SUBDIRS= \ 53 allocate \ 54 availdevs \ 55 lp \ 56 perl \ 57 Adm \ 58 abi \ 59 adbgen \ 60 acct \ 61 acctadm \ 62 arch \ 63 asa \ 64 ast \ 65 audio \ 66 auths \ 67 autopush \ 68 avs \ 69 awk \ 70 awk_xpg4 \ 71 backup \ 72 banner \ 73 bart \ 74 basename \ 75 bc \ 76 bdiff \ 77 beadm \ 78 bnu \ 79 boot \ 80 busstat \ 81 cal \ 82 calendar \ 83 captoinfo \ 84 cat \ 85 cdrw \ 86 cfgadm \ 87 checkeq \ 88 checknr \ 89 chgrp \ 90 chmod \ 91 chown \ 92 chroot \ 93 clear \ 94 clinfo \ 95 cmd-crypto \ 96 cmd-inet \ 97 col \ 98 compress \ 99 consadm \ 100 coreadm \ 101 cpio \ 102 cpc \ 103 cron \ 104 crypt \ 105 csh \ 106 csplit \ 107 ctrun \ 108 ctstat \ 109 ctwatch \ 110 datadm \ 111 date \ 112 dc \ 113 dd \ 114 deroff \ 115 devfsadm \ 116 syseventd \ 117 devctl \ 118 devinfo \ 119 devmgmt \ 120 devprop \ 121 dfs.cmds \ 122 diff \ 123 diff3 \ 124 diffmk \ 125 dircmp \ 126 dirname \ 127 dis \ 128 diskmgtd \ 129 dispadmin \ 130 dladm \ 131 dlstat \ 132 dmesg \ 133 dodatadm \ 134 dtrace \ 135 du \ 136 dumpadm \ 137 dumpcs \ 138 echo \ 139 ed \ 140 eeprom \ 141 egrep \ 142 eject \ 143 emul64ioctl \ 144 enhance \ 145 env \ 146 eqn \ 147 expand \ 148 expr \ 149 exstr \ 150 factor \ 151 false \ 152 fcinfo \ 153 fcoesvc \ 154 fdetach \ 155 fdformat \ 156 fdisk \ 157 ficl \ 158 filesync \ 159 fgrep \ 160 file \ 161 find \ 162 flowadm \ 163 flowstat \ 164 fm \ 165 fmt \ 166 fmthard \ 167 fmtmsg \ 168 fold \ 169 format \ 170 fs.d \ 171 fstyp \ 172 fuser \ 173 fwflash \ 174 gcore \ 175 gencat \ 176 geniconvtbl \ 177 genmsg \ 178 getconf \ 179 getdevpolicy \ 180 getent \ 181 getfacl \ 182 getmajor \ 183 getopt \ 184 gettext \ 185 gettxt \ 186 grep \ 187 grep_xpg4 \ 188 groups \ 189 grpck \ 190 gss \ 191 hal \ 192 halt \ 193 head \ 194 hostid \ 195 hostname \ 196 hotplug \ 197 hotplugd \ 198 hwdata \ 199 ibd_upgrade \ 200 iconv \ 201 id \ 202 idmap \ 203 infocmp \ 204 init \ 205 initpkg \ 206 install.d \ 207 intrd \ 208 intrstat \ 209 ipcrm \ 210 ipcs \ 211 ipdadm \ 212 ipf \ 213 isainfo \ 214 isalist \ 215 itutools \ 216 iscsiadm \ 217 iscsid \ 218 iscsitsvc \ 219 isns \ 220 itadm \ 221 kbd \ 222 keyserv \ 223 killall \ 224 krb5 \ 225 ksh \ 226 kvmstat \ 227 last \ 228 lastcomm \ 229 latencytop \ 230 ldap \ 231 ldapcachemgr \ 232 lgrpinfo \ 233 line \ 234 link \ 235 dlmgmtd \ 236 listen \ 237 loadkeys \ 238 locale \ 239 localedef \ 240 lockstat \ 241 locator \ 242 lofiadm \ 243 logadm \ 244 logger \ 245 login \ 246 logins \ 247 look \ 248 ls \ 249 luxadm \ 250 lvm \ 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 rexd \ 346 rm \ 347 rmdir \ 348 rmformat \ 349 rmmount \ 350 rmt \ 351 rmvolmgr \ 352 roles \ 353 rpcbind \ 354 rpcgen \ 355 rpcinfo \ 356 rpcsvc \ 357 runat \ 358 sa \ 359 saf \ 360 sasinfo \ 361 savecore \ 362 sbdadm \ 363 script \ 364 scsi \ 365 sdiff \ 366 sdpadm \ 367 sed \ 368 sendmail \ 369 setfacl \ 370 setmnt \ 371 setpgrp \ 372 setuname \ 373 sgs \ 374 sh \ 375 shcomp \ 376 smbios \ 377 smbsrv \ 378 smserverd \ 379 soelim \ 380 sort \ 381 spell \ 382 split \ 383 sqlite \ 384 srchtxt \ 385 srptadm \ 386 srptsvc \ 387 ssh \ 388 stat \ 389 stmfadm \ 390 stmfproxy \ 391 stmfsvc \ 392 stmsboot \ 393 streams \ 394 strings \ 395 su \ 396 sulogin \ 397 sunpc \ 398 svc \ 399 svr4pkg \ 400 swap \ 401 sync \ 402 sysdef \ 403 syseventadm \ 404 syslogd \ 405 tabs \ 406 tail \ 407 tar \ 408 tbl \ 409 tcopy \ 410 tcpd \ 411 terminfo \ 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 w \ 448 wall \ 449 which \ 450 who \ 451 whodo \ 452 wracct \ 453 write \ 454 xargs \ 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 lms \ 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 fgrep \ 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 grep_xpg4 \ 593 grpck \ 594 gss \ 595 halt \ 596 head \ 597 hostname \ 598 hotplug \ 599 iconv \ 600 id \ 601 idmap \ 602 isaexec \ 603 iscsiadm \ 604 iscsid \ 605 isns \ 606 itadm \ 607 kbd \ 608 krb5 \ 609 ksh \ 610 last \ 611 ldap \ 612 ldapcachemgr \ 613 lgrpinfo \ 614 locale \ 615 lofiadm \ 616 logadm \ 617 logger \ 618 logins \ 619 ls \ 620 luxadm \ 621 lvm \ 622 mailx \ 623 make \ 624 man \ 625 mesg \ 626 mkdir \ 627 mkpwdict \ 628 mktemp \ 629 more \ 630 mpathadm \ 631 msgfmt \ 632 mv \ 633 ndmpadm \ 634 ndmpstat \ 635 newgrp \ 636 newtask \ 637 nice \ 638 nohup \ 639 oawk \ 640 pack \ 641 passwd \ 642 passmgmt \ 643 pathchk \ 644 pfexec \ 645 pg \ 646 pgrep \ 647 picl \ 648 pools \ 649 power \ 650 pr \ 651 praudit \ 652 print \ 653 profiles \ 654 projadd \ 655 projects \ 656 prstat \ 657 prtdiag \ 658 ps \ 659 psrinfo \ 660 ptools \ 661 pwconv \ 662 pwd \ 663 pyzfs \ 664 raidctl \ 665 ramdiskadm \ 666 rcap \ 667 rcm_daemon \ 668 refer \ 669 regcmp \ 670 renice \ 671 roles \ 672 rm \ 673 rmdir \ 674 rmformat \ 675 rmmount \ 676 rmvolmgr \ 677 sasinfo \ 678 sbdadm \ 679 scadm \ 680 script \ 681 scsi \ 682 sdiff \ 683 sdpadm \ 684 sgs \ 685 sh \ 686 shcomp \ 687 smbsrv \ 688 sort \ 689 split \ 690 srptadm \ 691 stat \ 692 stmfadm \ 693 stmsboot \ 694 strings \ 695 su \ 696 svc \ 697 svr4pkg \ 698 swap \ 699 syseventadm \ 700 syseventd \ 701 tabs \ 702 tar \ 703 tbl \ 704 time \ 705 tnf \ 706 touch \ 707 tput \ 708 troff \ 709 tsol \ 710 tty \ 711 ttymon \ 712 tzreload \ 713 ul \ 714 uname \ 715 units \ 716 unlink \ 717 unpack \ 718 userattr \ 719 valtools \ 720 vgrind \ 721 vi \ 722 volcheck \ 723 volrmmount \ 724 vrrpadm \ 725 vscan \ 726 w \ 727 who \ 728 whodo \ 729 wracct \ 730 write \ 731 xargs \ 732 yppasswd \ 733 zdump \ 734 zfs \ 735 zic \ 736 zlogin \ 737 zoneadm \ 738 zoneadmd \ 739 zonecfg \ 740 zonename \ 741 zpool \ 742 zonestat 743 744sparc_MSGSUBDIRS= \ 745 fruadm \ 746 prtdscp \ 747 prtfru \ 748 virtinfo \ 749 vntsd 750 751i386_MSGSUBDIRS= \ 752 ucodeadm 753 754# 755# commands that use dcgettext for localized time, LC_TIME 756# 757DCSUBDIRS= \ 758 cal \ 759 cfgadm \ 760 diff \ 761 ls \ 762 pr \ 763 ps \ 764 tar \ 765 w \ 766 who \ 767 whodo \ 768 write 769 770# 771# commands that belong only to audit. 772# 773AUDITSUBDIRS= \ 774 amt \ 775 audit \ 776 audit_warn \ 777 auditconfig \ 778 auditd \ 779 auditrecord \ 780 auditreduce \ 781 auditset \ 782 auditstat \ 783 praudit 784 785# 786# commands not owned by the systems group 787# 788BWOSDIRS= 789 790 791all := TARGET = all 792install := TARGET = install 793clean := TARGET = clean 794clobber := TARGET = clobber 795lint := TARGET = lint 796_msg := TARGET = _msg 797_dc := TARGET = _dc 798 799.KEEP_STATE: 800 801SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) 802 803.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) 804 805all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ 806 $(AUDITSUBDIRS) 807 808# 809# Manifests cannot be checked in parallel, because we are using 810# the global repository that is in $(SRC)/cmd/svc/seed/global.db. 811# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts, 812# we spawn off a sub-make to perform the non-parallel 'make check' 813# 814check: 815 $(MAKE) -f Makefile.check check 816 817# 818# The .WAIT directive works around an apparent bug in parallel make. 819# Evidently make was getting the target _msg vs. _dc confused under 820# some level of parallelization, causing some of the _dc objects 821# not to be built. 822# 823_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc 824 825_dc: $(DCSUBDIRS) 826 827# 828# Dependencies 829# 830fs.d: fstyp 831ksh: shcomp isaexec 832mdb: terminfo 833print: lp 834fmt: mailx 835 836$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC 837 @if [ -f $@/Makefile ]; then \ 838 cd $@; pwd; $(MAKE) $(TARGET); \ 839 else \ 840 true; \ 841 fi 842 843FRC: 844