5166 sendmail package should be replaceable
[illumos-gate.git] / usr / src / cmd / Makefile
blobc59e370d47e6f8277972ec916bb41ada780dcce6
2 # CDDL HEADER START
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.
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.
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]
19 # CDDL HEADER END
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 # Copyright 2014 Garrett D'Amore <garrett@damore.org>
29 include ../Makefile.master
32 # Note that the commands 'lp', and 'perl' are first in
33 # the list, violating alphabetical order. This is because they are very
34 # long-running and should be given the most wall-clock time for a
35 # parallel build.
37 # Commands in the FIRST_SUBDIRS list are built before starting the build
38 # of other commands. Currently this includes only 'isaexec' and
39 # 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
40 # $(ROOT)/usr/lib/platexec must exist when some other commands are built
41 # because their 'make install' creates a hard link to one of them.
43 # Commands are listed one per line so that TeamWare can auto-merge most
44 # changes.
47 FIRST_SUBDIRS= \
48 isaexec \
49 platexec
51 COMMON_SUBDIRS= \
52 allocate \
53 availdevs \
54 lp \
55 perl \
56 Adm \
57 abi \
58 adbgen \
59 acct \
60 acctadm \
61 arch \
62 asa \
63 ast \
64 audio \
65 auths \
66 autopush \
67 avs \
68 awk \
69 awk_xpg4 \
70 backup \
71 banner \
72 bart \
73 basename \
74 bc \
75 bdiff \
76 beadm \
77 bfs \
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 filesync \
158 fgrep \
159 file \
160 find \
161 flowadm \
162 flowstat \
163 fm \
164 fmt \
165 fmthard \
166 fmtmsg \
167 fold \
168 format \
169 fs.d \
170 fstyp \
171 fuser \
172 fwflash \
173 gcore \
174 gencat \
175 geniconvtbl \
176 genmsg \
177 getconf \
178 getdevpolicy \
179 getent \
180 getfacl \
181 getmajor \
182 getopt \
183 gettext \
184 gettxt \
185 grep \
186 grep_xpg4 \
187 groups \
188 grpck \
189 gss \
190 hal \
191 halt \
192 head \
193 hostid \
194 hostname \
195 hotplug \
196 hotplugd \
197 hwdata \
198 ibd_upgrade \
199 id \
200 idmap \
201 infocmp \
202 init \
203 initpkg \
204 install.d \
205 intrd \
206 intrstat \
207 ipcrm \
208 ipcs \
209 ipdadm \
210 ipf \
211 isainfo \
212 isalist \
213 itutools \
214 iscsiadm \
215 iscsid \
216 iscsitsvc \
217 isns \
218 itadm \
219 java \
220 kbd \
221 keyserv \
222 killall \
223 krb5 \
224 ksh \
225 kvmstat \
226 last \
227 lastcomm \
228 latencytop \
229 ldap \
230 ldapcachemgr \
231 lgrpinfo \
232 line \
233 link \
234 dlmgmtd \
235 listen \
236 loadkeys \
237 locale \
238 localedef \
239 lockstat \
240 locator \
241 lofiadm \
242 logadm \
243 logger \
244 login \
245 logins \
246 look \
247 ls \
248 luxadm \
249 lvm \
250 mach \
251 machid \
252 mail \
253 mailwrapper \
254 mailx \
255 makekey \
256 man \
257 mandoc \
258 mdb \
259 mesg \
260 mkdir \
261 mkfifo \
262 mkfile \
263 mkmsgs \
264 mknod \
265 mkpwdict \
266 mktemp \
267 modload \
268 more \
269 mpathadm \
270 msgfmt \
271 msgid \
272 mt \
273 mv \
274 mvdir \
275 ndmpadm \
276 ndmpd \
277 ndmpstat \
278 netadm \
279 netfiles \
280 newform \
281 newgrp \
282 news \
283 newtask \
284 nice \
285 nl \
286 nlsadmin \
287 nohup \
288 nsadmin \
289 nscd \
290 oamuser \
291 oawk \
292 od \
293 pack \
294 pagesize \
295 passmgmt \
296 passwd \
297 pathchk \
298 pbind \
299 pcidr \
300 pcitool \
301 pfexec \
302 pfexecd \
303 pginfo \
304 pgstat \
305 pgrep \
306 picl \
307 plimit \
308 policykit \
309 pools \
310 power \
311 powertop \
312 ppgsz \
313 pg \
314 plockstat \
315 pr \
316 prctl \
317 print \
318 printf \
319 priocntl \
320 profiles \
321 projadd \
322 projects \
323 prstat \
324 prtconf \
325 prtdiag \
326 prtvtoc \
327 ps \
328 psradm \
329 psrinfo \
330 psrset \
331 ptools \
332 pwck \
333 pwconv \
334 pwd \
335 pyzfs \
336 raidctl \
337 ramdiskadm \
338 rcap \
339 rcm_daemon \
340 rctladm \
341 refer \
342 regcmp \
343 renice \
344 rexd \
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 terminfo \
411 th_tools \
412 tic \
413 time \
414 tip \
415 tnf \
416 touch \
417 tput \
418 tr \
419 trapstat \
420 troff \
421 true \
422 truss \
423 tsol \
424 tty \
425 ttymon \
426 tzreload \
427 uadmin \
428 ul \
429 uname \
430 units \
431 unlink \
432 unpack \
433 userattr \
434 users \
435 utmp_update \
436 utmpd \
437 valtools \
438 vgrind \
439 vi \
440 volcheck \
441 volrmmount \
442 vrrpadm \
443 vscan \
444 vt \
446 wall \
447 which \
448 who \
449 whodo \
450 wracct \
451 write \
452 wusbadm \
453 xargs \
454 xstr \
455 yes \
456 ypcmd \
457 yppasswd \
458 zdb \
459 zdump \
460 zfs \
461 zhack \
462 zic \
463 zinject \
464 zlogin \
465 zoneadm \
466 zoneadmd \
467 zonecfg \
468 zonename \
469 zpool \
470 zlook \
471 zonestat \
472 zstreamdump \
473 ztest
475 i386_SUBDIRS= \
476 acpihpd \
477 addbadsec \
478 biosdev \
479 diskscan \
480 lms \
481 rtc \
482 ucodeadm \
485 sparc_SUBDIRS= \
486 cvcd \
487 dcs \
488 device_remap \
489 drd \
490 fruadm \
491 ldmad \
492 oplhpd \
493 prtdscp \
494 prtfru \
495 scadm \
496 sckmd \
497 sf880drd \
498 virtinfo \
499 vntsd
502 # Commands that are messaged. Note that 'lp' comes first
503 # (see previous comment about 'lp'.)
505 MSGSUBDIRS= \
506 lp \
507 abi \
508 acctadm \
509 allocate \
510 asa \
511 audio \
512 audit \
513 auditconfig \
514 auditd \
515 auditrecord \
516 auditset \
517 auths \
518 autopush \
519 avs \
520 awk \
521 awk_xpg4 \
522 backup \
523 banner \
524 bart \
525 basename \
526 beadm \
527 bnu \
528 busstat \
529 cal \
530 cat \
531 cdrw \
532 cfgadm \
533 checkeq \
534 checknr \
535 chgrp \
536 chmod \
537 chown \
538 cmd-crypto \
539 cmd-inet \
540 col \
541 compress \
542 consadm \
543 coreadm \
544 cpio \
545 cpc \
546 cron \
547 csh \
548 csplit \
549 ctrun \
550 ctstat \
551 ctwatch \
552 datadm \
553 date \
554 dc \
555 dcs \
556 dd \
557 deroff \
558 devfsadm \
559 dfs.cmds \
560 diff \
561 diffmk \
562 dladm \
563 dlstat \
564 du \
565 dumpcs \
566 ed \
567 eject \
568 env \
569 eqn \
570 expand \
571 expr \
572 fcinfo \
573 fgrep \
574 file \
575 filesync \
576 find \
577 flowadm \
578 flowstat \
579 fm \
580 fold \
581 fs.d \
582 fwflash \
583 geniconvtbl \
584 genmsg \
585 getconf \
586 getent \
587 gettext \
588 gettxt \
589 grep \
590 grep_xpg4 \
591 grpck \
592 gss \
593 halt \
594 head \
595 hostname \
596 hotplug \
597 id \
598 idmap \
599 isaexec \
600 iscsiadm \
601 iscsid \
602 isns \
603 itadm \
604 kbd \
605 krb5 \
606 ksh \
607 last \
608 ldap \
609 ldapcachemgr \
610 lgrpinfo \
611 locale \
612 lofiadm \
613 logadm \
614 logger \
615 logins \
616 ls \
617 luxadm \
618 lvm \
619 mailx \
620 man \
621 mesg \
622 mkdir \
623 mkpwdict \
624 mktemp \
625 more \
626 mpathadm \
627 msgfmt \
628 mv \
629 ndmpadm \
630 ndmpstat \
631 newgrp \
632 newtask \
633 nice \
634 nohup \
635 oawk \
636 pack \
637 passwd \
638 passmgmt \
639 pathchk \
640 pfexec \
641 pg \
642 pgrep \
643 picl \
644 pools \
645 power \
646 pr \
647 praudit \
648 print \
649 profiles \
650 projadd \
651 projects \
652 prstat \
653 prtdiag \
654 ps \
655 psrinfo \
656 ptools \
657 pwconv \
658 pwd \
659 pyzfs \
660 raidctl \
661 ramdiskadm \
662 rcap \
663 rcm_daemon \
664 refer \
665 regcmp \
666 renice \
667 roles \
668 rm \
669 rmdir \
670 rmformat \
671 rmmount \
672 rmvolmgr \
673 sasinfo \
674 sbdadm \
675 scadm \
676 script \
677 scsi \
678 sdiff \
679 sdpadm \
680 sgs \
681 sh \
682 shcomp \
683 smbsrv \
684 sort \
685 split \
686 srptadm \
687 ssh \
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 \
724 who \
725 whodo \
726 wracct \
727 write \
728 wusbadm \
729 xargs \
730 yppasswd \
731 zdump \
732 zfs \
733 zic \
734 zlogin \
735 zoneadm \
736 zoneadmd \
737 zonecfg \
738 zonename \
739 zpool \
740 zonestat
742 sparc_MSGSUBDIRS= \
743 fruadm \
744 prtdscp \
745 prtfru \
746 virtinfo \
747 vntsd
749 i386_MSGSUBDIRS= \
750 ucodeadm
753 # commands that use dcgettext for localized time, LC_TIME
755 DCSUBDIRS= \
756 cal \
757 cfgadm \
758 diff \
759 ls \
760 pr \
761 ps \
762 tar \
764 who \
765 whodo \
766 write
769 # commands that belong only to audit.
771 AUDITSUBDIRS= \
772 amt \
773 audit \
774 audit_warn \
775 auditconfig \
776 auditd \
777 auditrecord \
778 auditreduce \
779 auditset \
780 auditstat \
781 praudit
784 # commands not owned by the systems group
786 BWOSDIRS=
789 all := TARGET = all
790 install := TARGET = install
791 clean := TARGET = clean
792 clobber := TARGET = clobber
793 lint := TARGET = lint
794 _msg := TARGET = _msg
795 _dc := TARGET = _dc
797 .KEEP_STATE:
799 SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
801 .PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS)
803 all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \
804 $(AUDITSUBDIRS)
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'
812 check:
813 $(MAKE) -f Makefile.check check
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.
821 _msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
823 _dc: $(DCSUBDIRS)
826 # Dependencies
828 fs.d: fstyp
829 ksh: shcomp isaexec
830 mdb: terminfo
831 print: lp
833 $(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC
834 @if [ -f $@/Makefile ]; then \
835 cd $@; pwd; $(MAKE) $(TARGET); \
836 else \
837 true; \
840 FRC: