PANKOVs restructure
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 2010 Nexenta Systems, Inc. All rights reserved.
24 # Copyright (c) 2012 Joyent, Inc. All rights reserved.
25 # Copyright (c) 2012 by Delphix. All rights reserved.
26 # Copyright (c) 2013 DEY Storage Systems, Inc. All rights reserved.
27
28 include ../Makefile.master
29
30 #
31 # Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
32 # the list, violating alphabetical order. This is because they are very
33 # long-running and should be given the most wall-clock time for a
34 # parallel build.
35 #
36 # Commands in the FIRST_SUBDIRS list are built before starting the build
37 # of other commands. Currently this includes only 'isaexec' and
38 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
39 # $(ROOT)/usr/lib/platexec must exist when some other commands are built
40 # because their 'make install' creates a hard link to one of them.
41 #
42 # Commands are listed one per line so that TeamWare can auto-merge most
43 # changes.
44 #
45
46 FIRST_SUBDIRS= \
47 isaexec \
48 platexec
49
50 COMMON_SUBDIRS= \
51 allocate \
52 availdevs \
53 lp \
54 perl \
55 man \
56 Adm \
57 abi \
58 adbgen \
59 acct \
60 acctadm \
61 acpitools \
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 bfs \
79 bnu \
80 boot \
81 busstat \
82 cal \
83 calendar \
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 datadm \
112 date \
113 dc \
114 dd \
115 deroff \
116 devfsadm \
117 syseventd \
118 devctl \
119 devinfo \
120 devmgmt \
121 devprop \
122 dfs.cmds \
123 diff \
124 diff3 \
125 diffmk \
126 dircmp \
127 dirname \
128 dis \
129 diskmgtd \
130 dispadmin \
131 dladm \
132 dlstat \
133 dmesg \
134 dodatadm \
135 dtrace \
136 du \
137 dumpadm \
138 dumpcs \
139 echo \
140 ed \
141 eeprom \
142 egrep \
143 eject \
144 emul64ioctl \
145 enhance \
146 env \
147 eqn \
148 expand \
149 expr \
150 exstr \
151 factor \
152 false \
153 fcinfo \
154 fcoesvc \
155 fdetach \
156 fdformat \
157 fdisk \
158 filesync \
159 fgrep \
160 file \
161 filebench \
162 find \
163 flowadm \
164 flowstat \
165 fm \
166 fmt \
167 fmthard \
168 fmtmsg \
169 fold \
170 format \
171 fs.d \
172 fstyp \
173 fuser \
174 fwflash \
175 gcore \
176 gencat \
177 geniconvtbl \
178 genmsg \
179 getconf \
180 getdevpolicy \
181 getent \
182 getfacl \
183 getmajor \
184 getopt \
185 gettext \
186 gettxt \
187 grep \
188 grep_xpg4 \
189 groups \
190 grpck \
191 gss \
192 hal \
193 halt \
194 head \
195 hostid \
196 hostname \
197 hotplug \
198 hotplugd \
199 hwdata \
200 ibd_upgrade \
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 java \
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 lvm \
252 mach \
253 machid \
254 mail \
255 mailx \
256 makekey \
257 mdb \
258 mesg \
259 mkdir \
260 mkfifo \
261 mkfile \
262 mkmsgs \
263 mknod \
264 mkpwdict \
265 mktemp \
266 modload \
267 more \
268 mpathadm \
269 msgfmt \
270 msgid \
271 mt \
272 mv \
273 mvdir \
274 ndmpadm \
275 ndmpd \
276 ndmpstat \
277 netadm \
278 netfiles \
279 newform \
280 newgrp \
281 news \
282 newtask \
283 nice \
284 nl \
285 nlsadmin \
286 nohup \
287 nsadmin \
288 nscd \
289 oamuser \
290 oawk \
291 od \
292 pack \
293 pagesize \
294 passmgmt \
295 passwd \
296 pathchk \
297 pbind \
298 pcidr \
299 pcitool \
300 pfexec \
301 pfexecd \
302 pginfo \
303 pgstat \
304 pgrep \
305 picl \
306 plimit \
307 policykit \
308 pools \
309 power \
310 powertop \
311 ppgsz \
312 pg \
313 plockstat \
314 pr \
315 prctl \
316 print \
317 printf \
318 priocntl \
319 profiles \
320 projadd \
321 projects \
322 prstat \
323 prtconf \
324 prtdiag \
325 prtvtoc \
326 ps \
327 psradm \
328 psrinfo \
329 psrset \
330 ptools \
331 pwck \
332 pwconv \
333 pwd \
334 pyzfs \
335 raidctl \
336 ramdiskadm \
337 rcap \
338 rcm_daemon \
339 rctladm \
340 refer \
341 regcmp \
342 renice \
343 rexd \
344 rm \
345 rmdir \
346 rmformat \
347 rmmount \
348 rmt \
349 rmvolmgr \
350 roles \
351 rpcbind \
352 rpcgen \
353 rpcinfo \
354 rpcsvc \
355 runat \
356 sa \
357 saf \
358 sasinfo \
359 savecore \
360 sbdadm \
361 script \
362 scsi \
363 sdiff \
364 sdpadm \
365 sed \
366 sendmail \
367 setfacl \
368 setmnt \
369 setpgrp \
370 setuname \
371 sgs \
372 sh \
373 shcomp \
374 smbios \
375 smbsrv \
376 smserverd \
377 soelim \
378 sort \
379 spell \
380 split \
381 sqlite \
382 srchtxt \
383 srptadm \
384 srptsvc \
385 ssh \
386 stat \
387 stmfadm \
388 stmfproxy \
389 stmfsvc \
390 stmsboot \
391 streams \
392 strings \
393 su \
394 sulogin \
395 sunpc \
396 svc \
397 svr4pkg \
398 swap \
399 sync \
400 sysdef \
401 syseventadm \
402 syslogd \
403 tabs \
404 tail \
405 tar \
406 tbl \
407 tcopy \
408 tcpd \
409 terminfo \
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 valtools \
437 vgrind \
438 vi \
439 volcheck \
440 volrmmount \
441 vrrpadm \
442 vscan \
443 vt \
444 w \
445 wall \
446 which \
447 who \
448 whodo \
449 wracct \
450 write \
451 wusbadm \
452 xargs \
453 xstr \
454 yes \
455 ypcmd \
456 yppasswd \
457 zdb \
458 zdump \
459 zfs \
460 zhack \
461 zic \
462 zinject \
463 zlogin \
464 zoneadm \
465 zoneadmd \
466 zonecfg \
467 zonename \
468 zpool \
469 zlook \
470 zonestat \
471 zstreamdump \
472 ztest
473
474 i386_SUBDIRS= \
475 acpihpd \
476 addbadsec \
477 biosdev \
478 diskscan \
479 lms \
480 ntfsprogs \
481 parted \
482 rtc \
483 ucodeadm \
484 xvm
485
486 sparc_SUBDIRS= \
487 cvcd \
488 dcs \
489 device_remap \
490 drd \
491 fruadm \
492 ldmad \
493 oplhpd \
494 prtdscp \
495 prtfru \
496 scadm \
497 sckmd \
498 sf880drd \
499 virtinfo \
500 vntsd
501
502 #
503 # Commands that are messaged. Note that 'lp' and 'man' come first
504 # (see previous comment about 'lp' and 'man').
505 #
506 MSGSUBDIRS= \
507 lp \
508 man \
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 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 lvm \
621 mailx \
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 ssh \
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 wusbadm \
730 xargs \
731 yppasswd \
732 zdump \
733 zfs \
734 zic \
735 zlogin \
736 zoneadm \
737 zoneadmd \
738 zonecfg \
739 zonename \
740 zpool \
741 zonestat
742
743 sparc_MSGSUBDIRS= \
744 fruadm \
745 prtdscp \
746 prtfru \
747 virtinfo \
748 vntsd
749
750 i386_MSGSUBDIRS= \
751 ucodeadm
752
753 #
754 # commands that use dcgettext for localized time, LC_TIME
755 #
756 DCSUBDIRS= \
757 cal \
758 cfgadm \
759 diff \
760 ls \
761 pr \
762 ps \
763 tar \
764 w \
765 who \
766 whodo \
767 write
768
769 #
770 # commands that belong only to audit.
771 #
772 AUDITSUBDIRS= \
773 amt \
774 audit \
775 audit_warn \
776 auditconfig \
777 auditd \
778 auditrecord \
779 auditreduce \
780 auditset \
781 auditstat \
782 praudit
783
784 #
785 # commands not owned by the systems group
786 #
787 BWOSDIRS=
788
789
790 all := TARGET = all
791 install := TARGET = install
792 clean := TARGET = clean
793 clobber := TARGET = clobber
794 lint := TARGET = lint
795 _msg := TARGET = _msg
796 _dc := TARGET = _dc
797
798 .KEEP_STATE:
799
800 SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
801
802 .PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS)
803
804 all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \
805 $(AUDITSUBDIRS)
806
807 #
808 # Manifests cannot be checked in parallel, because we are using
809 # the global repository that is in $(SRC)/cmd/svc/seed/global.db.
810 # For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
811 # we spawn off a sub-make to perform the non-parallel 'make check'
812 #
813 check:
814 $(MAKE) -f Makefile.check check
815
816 #
817 # The .WAIT directive works around an apparent bug in parallel make.
818 # Evidently make was getting the target _msg vs. _dc confused under
819 # some level of parallelization, causing some of the _dc objects
820 # not to be built.
821 #
822 _msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
823
824 _dc: $(DCSUBDIRS)
825
826 #
827 # Dependencies
828 #
829 fs.d: fstyp
830 ksh: shcomp isaexec
831 mdb: terminfo
832 print: lp
833
834 $(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC
835 @if [ -f $@/Makefile ]; then \
836 cd $@; pwd; $(MAKE) $(TARGET); \
837 else \
838 true; \
839 fi
840
841 FRC:
--- EOF ---