Makefile revision 209e49b2ff611e7d61ff58e13756ae67f51be550
2N/A#
2N/A# CDDL HEADER START
2N/A#
2N/A# The contents of this file are subject to the terms of the
2N/A# Common Development and Distribution License (the "License").
2N/A# You may not use this file except in compliance with the License.
2N/A#
2N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A# or http://www.opensolaris.org/os/licensing.
2N/A# See the License for the specific language governing permissions
2N/A# and limitations under the License.
2N/A#
2N/A# When distributing Covered Code, include this CDDL HEADER in each
2N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A# If applicable, add the following below this CDDL HEADER, with the
2N/A# fields enclosed by brackets "[]" replaced with your own identifying
2N/A# information: Portions Copyright [yyyy] [name of copyright owner]
2N/A#
2N/A# CDDL HEADER END
2N/A#
2N/A
2N/A# Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
2N/A
2N/Ainclude ../Makefile.master
2N/A
2N/A#
2N/A# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
2N/A# the list, violating alphabetical order. This is because they are very
2N/A# long-running and should be given the most wall-clock time for a
2N/A# parallel build.
2N/A#
2N/A# Commands in the FIRST_SUBDIRS list are built before starting the build
2N/A# of other commands. Currently this includes only 'isaexec' and
2N/A# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
2N/A# $(ROOT)/usr/lib/platexec must exist when some other commands are built
2N/A# because their 'make install' creates a hard link to one of them.
2N/A#
2N/A# Commands are listed one per line so that TeamWare can auto-merge most
2N/A# changes.
2N/A#
2N/A
2N/AFIRST_SUBDIRS= \
2N/A isaexec \
2N/A platexec
2N/A
2N/ACOMMON_SUBDIRS= \
2N/A agents \
2N/A allocate \
2N/A availdevs \
2N/A lp \
2N/A perl \
2N/A man \
2N/A Adm \
2N/A abi \
2N/A adbgen \
2N/A acct \
2N/A acctadm \
2N/A arch \
2N/A asa \
2N/A ast \
2N/A audio \
2N/A auths \
2N/A autopush \
2N/A avs \
2N/A awk \
2N/A awk_xpg4 \
2N/A backup \
2N/A banner \
2N/A bart \
2N/A basename \
2N/A bc \
2N/A bdiff \
2N/A beadm \
2N/A bfs \
2N/A bnu \
2N/A boot \
2N/A busstat \
2N/A cal \
2N/A calendar \
2N/A captoinfo \
2N/A cat \
2N/A cdrw \
2N/A cfgadm \
2N/A checkeq \
2N/A checknr \
2N/A chgrp \
2N/A chmod \
2N/A chown \
2N/A chroot \
2N/A clear \
2N/A clinfo \
2N/A cmd-crypto \
2N/A cmd-inet \
2N/A col \
2N/A compress \
2N/A consadm \
2N/A coreadm \
2N/A cpio \
2N/A cpc \
2N/A cron \
2N/A crypt \
2N/A csh \
2N/A csplit \
2N/A ctrun \
2N/A ctstat \
2N/A ctwatch \
2N/A datadm \
2N/A date \
2N/A dc \
2N/A dd \
2N/A deroff \
2N/A devfsadm \
2N/A syseventd \
2N/A devctl \
2N/A devinfo \
2N/A devmgmt \
2N/A devprop \
2N/A dfs.cmds \
2N/A diff \
2N/A diff3 \
2N/A diffmk \
2N/A dircmp \
2N/A dirname \
2N/A dis \
2N/A diskmgtd \
2N/A dispadmin \
2N/A dladm \
2N/A dlstat \
2N/A dmesg \
2N/A dodatadm \
2N/A dtrace \
2N/A du \
2N/A dumpadm \
2N/A dumpcs \
2N/A echo \
2N/A ed \
2N/A eeprom \
2N/A egrep \
2N/A eject \
2N/A emul64ioctl \
2N/A enhance \
2N/A env \
2N/A eqn \
2N/A expand \
2N/A expr \
2N/A exstr \
2N/A factor \
2N/A false \
2N/A fcinfo \
2N/A fcoesvc \
2N/A fdetach \
2N/A fdformat \
2N/A fdisk \
2N/A filesync \
2N/A fgrep \
2N/A file \
2N/A filebench \
2N/A find \
2N/A flowadm \
2N/A flowstat \
2N/A fm \
2N/A fmt \
2N/A fmthard \
2N/A fmtmsg \
2N/A fold \
2N/A format \
2N/A fs.d \
2N/A fstyp \
2N/A fuser \
2N/A fwflash \
2N/A gcore \
2N/A gencat \
2N/A geniconvtbl \
2N/A genmsg \
2N/A getconf \
2N/A getdevpolicy \
2N/A getent \
2N/A getfacl \
2N/A getmajor \
2N/A getopt \
2N/A gettext \
2N/A gettxt \
2N/A grep \
2N/A grep_xpg4 \
2N/A groups \
2N/A grpck \
2N/A gss \
2N/A hal \
2N/A halt \
2N/A head \
2N/A hostid \
2N/A hostname \
2N/A hotplug \
2N/A hotplugd \
2N/A hwdata \
2N/A ibd_upgrade \
2N/A id \
2N/A idmap \
2N/A infocmp \
2N/A init \
2N/A initpkg \
2N/A install.d \
2N/A intrd \
2N/A intrstat \
2N/A ipcrm \
2N/A ipcs \
2N/A ipf \
2N/A isainfo \
2N/A isalist \
2N/A itutools \
2N/A iscsiadm \
2N/A iscsid \
2N/A iscsitsvc \
2N/A isns \
2N/A itadm \
2N/A java \
2N/A kbd \
keyserv \
killall \
krb5 \
ksh \
kstat \
last \
lastcomm \
latencytop \
ldap \
ldapcachemgr \
lgrpinfo \
line \
link \
dlmgmtd \
listen \
loadkeys \
locale \
lockstat \
locator \
lofiadm \
logadm \
logger \
login \
logins \
look \
ls \
luxadm \
lvm \
mach \
machid \
mail \
mailx \
makekey \
mdb \
mesg \
mkdir \
mkfifo \
mkfile \
mklocale \
mkmsgs \
mknod \
mkpwdict \
mktemp \
modload \
more \
mpathadm \
msgfmt \
msgid \
mt \
mv \
mvdir \
ndmpadm \
ndmpd \
ndmpstat \
netadm \
netfiles \
newform \
newgrp \
news \
newtask \
nice \
nl \
nlsadmin \
nohup \
nsadmin \
nscd \
oamuser \
oawk \
pack \
pagesize \
passmgmt \
passwd \
pathchk \
pbind \
pcidr \
pcitool \
pfexec \
pfexecd \
pginfo \
pgstat \
pgrep \
picl \
plimit \
policykit \
pools \
power \
powertop \
ppgsz \
pg \
plockstat \
pr \
prctl \
print \
priocntl \
profiles \
projadd \
projects \
prstat \
prtconf \
prtdiag \
prtvtoc \
ps \
psradm \
psrinfo \
psrset \
ptools \
pwck \
pwconv \
pwd \
pyzfs \
raidctl \
ramdiskadm \
rcap \
rcm_daemon \
rctladm \
refer \
regcmp \
renice \
rexd \
rm \
rmdir \
rmformat \
rmmount \
rmt \
rmvolmgr \
roles \
rpcbind \
rpcgen \
rpcinfo \
rpcsvc \
runat \
sa \
saf \
sasinfo \
savecore \
sbdadm \
script \
scsi \
sdiff \
sdpadm \
sendmail \
setfacl \
setmnt \
setpgrp \
setuname \
sgs \
sh \
shcomp \
smbios \
smbsrv \
smserverd \
soelim \
sort \
spell \
split \
sqlite \
srchtxt \
srptadm \
srptsvc \
ssh \
stat \
stmfadm \
stmfproxy \
stmfsvc \
stmsboot \
streams \
strings \
su \
sulogin \
sunpc \
svc \
svr4pkg \
swap \
sync \
sysdef \
syseventadm \
syslogd \
tabs \
tail \
tar \
tbl \
tcopy \
tcpd \
terminfo \
th_tools \
tic \
time \
tip \
tnf \
touch \
tplot \
tput \
tr \
trapstat \
troff \
true \
truss \
tsol \
tty \
ttymon \
tzreload \
uadmin \
ul \
uname \
units \
unlink \
unpack \
userattr \
users \
utmp_update \
utmpd \
valtools \
vgrind \
vi \
volcheck \
volrmmount \
vrrpadm \
vscan \
vt \
w \
wall \
which \
who \
whodo \
wracct \
write \
wusbadm \
xargs \
xstr \
yes \
ypcmd \
yppasswd \
zdb \
zdump \
zfs \
zic \
zinject \
zlogin \
zoneadm \
zoneadmd \
zonecfg \
zonename \
zpool \
zlook \
zonestat \
zstreamdump \
ztest
$(CLOSED_BUILD)COMMON_SUBDIRS += \
$(CLOSED)/cmd/iconv \
$(CLOSED)/cmd/ksh \
$(CLOSED)/cmd/localedef \
$(CLOSED)/cmd/more_xpg4 \
$(CLOSED)/cmd/mtst \
$(CLOSED)/cmd/od \
$(CLOSED)/cmd/patch \
$(CLOSED)/cmd/pax \
$(CLOSED)/cmd/printf \
$(CLOSED)/cmd/sed \
$(CLOSED)/cmd/sed_xpg4
i386_SUBDIRS= \
acpihpd \
addbadsec \
biosdev \
diskscan \
lms \
ntfsprogs \
parted \
rtc \
ucodeadm \
xvm
sparc_SUBDIRS= \
cvcd \
dcs \
device_remap \
drd \
fps \
fruadm \
ldmad \
oplhpd \
prtdscp \
prtfru \
scadm \
sckmd \
sf880drd \
virtinfo \
vntsd
#
# Commands that are messaged. Note that 'lp' and 'man' come first
# (see previous comment about 'lp' and 'man').
#
MSGSUBDIRS= \
lp \
man \
abi \
acctadm \
allocate \
asa \
audio \
audit \
auditconfig \
auditd \
auditrecord \
auditset \
auths \
autopush \
avs \
awk \
awk_xpg4 \
backup \
banner \
bart \
basename \
beadm \
bnu \
busstat \
cal \
cat \
cdrw \
cfgadm \
checkeq \
checknr \
chgrp \
chmod \
chown \
cmd-crypto \
cmd-inet \
col \
compress \
consadm \
coreadm \
cpio \
cpc \
cron \
csh \
csplit \
ctrun \
ctstat \
ctwatch \
datadm \
date \
dc \
dcs \
dd \
deroff \
devfsadm \
dfs.cmds \
diff \
diffmk \
dladm \
dlstat \
du \
dumpcs \
ed \
eject \
env \
eqn \
expand \
expr \
fcinfo \
fgrep \
file \
filesync \
find \
flowadm \
flowstat \
fm \
fold \
fs.d \
fwflash \
geniconvtbl \
genmsg \
getconf \
getent \
gettext \
gettxt \
grep \
grep_xpg4 \
grpck \
gss \
halt \
head \
hostname \
hotplug \
id \
idmap \
isaexec \
iscsiadm \
iscsid \
isns \
itadm \
kbd \
krb5 \
ksh \
kstat \
last \
ldap \
ldapcachemgr \
lgrpinfo \
locale \
lofiadm \
logadm \
logger \
logins \
ls \
luxadm \
lvm \
mailx \
mesg \
mkdir \
mkpwdict \
mktemp \
more \
mpathadm \
msgfmt \
mv \
ndmpadm \
ndmpstat \
newgrp \
newtask \
nice \
nohup \
oawk \
pack \
passwd \
passmgmt \
pathchk \
pfexec \
pg \
pgrep \
picl \
pools \
power \
pr \
praudit \
print \
profiles \
projadd \
projects \
prstat \
prtdiag \
ps \
psrinfo \
ptools \
pwconv \
pwd \
pyzfs \
raidctl \
ramdiskadm \
rcap \
rcm_daemon \
refer \
regcmp \
renice \
roles \
rm \
rmdir \
rmformat \
rmmount \
rmvolmgr \
sasinfo \
sbdadm \
scadm \
script \
scsi \
sdiff \
sdpadm \
sgs \
sh \
shcomp \
smbsrv \
sort \
split \
srptadm \
ssh \
stat \
stmfadm \
stmsboot \
strings \
su \
svc \
svr4pkg \
swap \
syseventadm \
syseventd \
tabs \
tar \
tbl \
time \
tnf \
touch \
tput \
troff \
tsol \
tty \
ttymon \
tzreload \
ul \
uname \
units \
unlink \
unpack \
userattr \
valtools \
vgrind \
vi \
volcheck \
volrmmount \
vrrpadm \
vscan \
w \
who \
whodo \
wracct \
write \
wusbadm \
xargs \
yppasswd \
zdump \
zfs \
zic \
zlogin \
zoneadm \
zoneadmd \
zonecfg \
zonename \
zpool \
zonestat
$(CLOSED_BUILD)MSGSUBDIRS += \
$(CLOSED)/cmd/iconv \
$(CLOSED)/cmd/ksh \
$(CLOSED)/cmd/localedef \
$(CLOSED)/cmd/more_xpg4 \
$(CLOSED)/cmd/od \
$(CLOSED)/cmd/patch \
$(CLOSED)/cmd/pax \
$(CLOSED)/cmd/printf \
$(CLOSED)/cmd/sed \
$(CLOSED)/cmd/sed_xpg4
sparc_MSGSUBDIRS= \
fruadm \
prtdscp \
prtfru \
virtinfo \
vntsd
i386_MSGSUBDIRS= \
ucodeadm
#
# commands that use dcgettext for localized time, LC_TIME
#
DCSUBDIRS= \
cal \
cfgadm \
diff \
ls \
pr \
ps \
tar \
w \
who \
whodo \
write
$(CLOSED_BUILD)DCSUBDIRS += \
$(CLOSED)/cmd/pax
#
# commands that belong only to audit.
#
AUDITSUBDIRS= \
amt \
audit \
audit_warn \
auditconfig \
auditd \
auditrecord \
auditreduce \
auditset \
auditstat \
praudit
#
# commands not owned by the systems group
#
BWOSDIRS=
all := TARGET = all
install := TARGET = install
clean := TARGET = clean
clobber := TARGET = clobber
lint := TARGET = lint
_msg := TARGET = _msg
_dc := TARGET = _dc
.KEEP_STATE:
SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS)
.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS)
all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \
$(AUDITSUBDIRS)
#
# Manifests cannot be checked in parallel, because we are using
# the global repository that is in $(SRC)/cmd/svc/seed/global.db.
# For this reason, to avoid .PARALLEL and .NO_PARALLEL conflicts,
# we spawn off a sub-make to perform the non-parallel 'make check'
#
check:
$(MAKE) -f Makefile.check check
#
# The .WAIT directive works around an apparent bug in parallel make.
# Evidently make was getting the target _msg vs. _dc confused under
# some level of parallelization, causing some of the _dc objects
# not to be built.
#
_msg: $(MSGSUBDIRS) $($(MACH)_MSGSUBDIRS) .WAIT _dc
_dc: $(DCSUBDIRS)
#
# Dependencies
#
fs.d: fstyp
ksh: shcomp isaexec
print: lp
$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC
@if [ -f $@/Makefile ]; then \
cd $@; pwd; $(MAKE) $(TARGET); \
else \
true; \
fi
FRC: