Makefile revision 1cb875ae88fb9463b368e725c2444776595895cb
5389N/A#
5389N/A# CDDL HEADER START
5389N/A#
5389N/A# The contents of this file are subject to the terms of the
5389N/A# Common Development and Distribution License (the "License").
5389N/A# You may not use this file except in compliance with the License.
5389N/A#
5389N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5389N/A# or http://www.opensolaris.org/os/licensing.
5389N/A# See the License for the specific language governing permissions
5389N/A# and limitations under the License.
5389N/A#
5389N/A# When distributing Covered Code, include this CDDL HEADER in each
5389N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5389N/A# If applicable, add the following below this CDDL HEADER, with the
5389N/A# fields enclosed by brackets "[]" replaced with your own identifying
5389N/A# information: Portions Copyright [yyyy] [name of copyright owner]
5389N/A#
5389N/A# CDDL HEADER END
5389N/A#
5389N/A#
5389N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
5389N/A# Use is subject to license terms.
5389N/A#
5389N/A
5389N/Ainclude ../Makefile.master
5389N/Ainclude ../Makefile.ksh93switch
5389N/A
5389N/A#
5389N/A# Note that the commands 'agents', 'lp', 'perl', and 'man' are first in
5389N/A# the list, violating alphabetical order. This is because they are very
5389N/A# long-running and should be given the most wall-clock time for a
5389N/A# parallel build.
5389N/A#
5389N/A# Commands in the FIRST_SUBDIRS list are built before starting the build
5389N/A# of other commands. Currently this includes only 'isaexec' and
5389N/A# 'platexec'. This is necessary because $(ROOT)/usr/lib/isaexec or
5389N/A# $(ROOT)/usr/lib/platexec must exist when some other commands are built
5389N/A# because their 'make install' creates a hard link to one of them.
5389N/A#
5389N/A# Commands are listed one per line so that TeamWare can auto-merge most
5389N/A# changes.
5389N/A#
5389N/A
5389N/AFIRST_SUBDIRS= \
5389N/A isaexec \
5389N/A platexec
5389N/A
5389N/ACOMMON_SUBDIRS= \
5389N/A agents \
5389N/A availdevs \
5389N/A lp \
5389N/A perl \
5389N/A man \
5389N/A Adm \
5389N/A abi \
5389N/A adbgen \
5389N/A acct \
5389N/A acctadm \
5389N/A arch \
5389N/A asa \
5389N/A ast \
5389N/A audio \
5389N/A auths \
5389N/A autopush \
5389N/A avs \
5389N/A awk \
5389N/A awk_xpg4 \
5389N/A backup \
5389N/A banner \
5389N/A bart \
5389N/A basename \
5389N/A bc \
5389N/A bdiff \
5389N/A bfs \
5389N/A bnu \
5389N/A boot \
5389N/A busstat \
5389N/A cal \
5389N/A calendar \
5389N/A captoinfo \
5389N/A cat \
5389N/A cdrw \
5389N/A cfgadm \
5389N/A checkeq \
5389N/A checknr \
5389N/A chgrp \
5389N/A chmod \
5389N/A chown \
5389N/A chroot \
5389N/A clear \
5389N/A clinfo \
5389N/A cmd-crypto \
5389N/A cmd-inet \
5389N/A col \
5389N/A compress \
5389N/A consadm \
5389N/A coreadm \
5389N/A cpio \
5389N/A cpc \
5389N/A cron \
5389N/A crypt \
5389N/A csh \
5389N/A csplit \
5389N/A ctrun \
5389N/A ctstat \
5389N/A ctwatch \
5389N/A datadm \
5389N/A date \
5389N/A dc \
5389N/A dd \
5389N/A deroff \
5389N/A des \
5389N/A devfsadm \
5389N/A syseventd \
5389N/A devctl \
5389N/A devinfo \
5389N/A devmgmt \
5389N/A devprop \
5389N/A dfs.cmds \
5389N/A diff \
5389N/A diff3 \
5389N/A diffmk \
5389N/A dircmp \
5389N/A dirname \
5389N/A dis \
5389N/A diskmgtd \
5389N/A dispadmin \
5389N/A dladm \
5389N/A dmesg \
5389N/A dodatadm \
5389N/A dtrace \
5389N/A du \
5389N/A dumpadm \
5389N/A dumpcs \
5389N/A echo \
5389N/A ed \
5389N/A eeprom \
5389N/A egrep \
5389N/A eject \
5389N/A emul64ioctl \
5389N/A enhance \
5389N/A env \
5389N/A eqn \
5389N/A expand \
5389N/A expr \
5389N/A exstr \
5389N/A factor \
5389N/A false \
5389N/A fcinfo \
5389N/A fcoesvc \
5389N/A fdetach \
5389N/A fdformat \
5389N/A fdisk \
5389N/A filesync \
5389N/A fgrep \
5389N/A file \
5389N/A filebench \
5389N/A find \
5389N/A flowadm \
5389N/A fm \
5389N/A fmli \
5389N/A fmt \
5389N/A fmthard \
5389N/A fmtmsg \
5389N/A fold \
5389N/A format \
5389N/A fs.d \
5389N/A fstyp \
5389N/A fuser \
5389N/A fwflash \
5389N/A gcore \
5389N/A gencat \
5389N/A geniconvtbl \
5389N/A genmsg \
5389N/A getconf \
5389N/A getdevpolicy \
getent \
getfacl \
getmajor \
getopt \
gettext \
gettxt \
graph \
grep \
grep_xpg4 \
groups \
grpck \
gss \
hal \
halt \
head \
hostid \
hostname \
hotplug \
hotplugd \
hwdata \
id \
idmap \
infocmp \
init \
initpkg \
install.d \
intrd \
intrstat \
ipcrm \
ipcs \
ipf \
isainfo \
isalist \
iscsi \
itutools \
iscsiadm \
iscsid \
iscsitsvc \
isns \
itadm \
java \
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 \
mkmsgs \
mknod \
mkpwdict \
mktemp \
mms \
modload \
more \
mpathadm \
msgfmt \
msgid \
mt \
mv \
mvdir \
ndmpadm \
ndmpd \
ndmpstat \
netadm \
netfiles \
newform \
newgrp \
news \
newtask \
nice \
nispasswd \
nl \
nlsadmin \
nohup \
nsadmin \
nscd \
oamuser \
oawk \
pack \
pagesize \
passmgmt \
passwd \
pathchk \
pbind \
pcidr \
pcitool \
pcmciad \
pfexec \
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 \
spline \
split \
sqlite \
srchtxt \
srptsvc \
ssh \
stat \
stmfadm \
stmfproxy \
stmfsvc \
stmsboot \
streams \
strings \
su \
sulogin \
sunpc \
svc \
svr4pkg \
swap \
sync \
sysdef \
syseventadm \
syslogd \
tabs \
tar \
tbl \
tcopy \
tcpd \
terminfo \
th_tools \
tic \
time \
tip \
tnf \
touch \
tplot \
tput \
trapstat \
troff \
true \
truss \
tsol \
tty \
ttymon \
uadmin \
ul \
uname \
units \
unlink \
unpack \
users \
utmp_update \
utmpd \
valtools \
vgrind \
vi \
volcheck \
volrmmount \
vrrpadm \
vscan \
vt \
w \
wall \
wbem \
which \
who \
whodo \
wracct \
write \
wusbadm \
xargs \
xstr \
yes \
ypcmd \
yppasswd \
zdb \
zdump \
zfs \
zic \
zinject \
zlogin \
zoneadm \
zoneadmd \
zonecfg \
zonename \
zpool \
zlook \
zstreamdump \
ztest
$(CLOSED_BUILD)COMMON_SUBDIRS += \
$(CLOSED)/cmd/iconv \
$(CLOSED)/cmd/ksh \
$(CLOSED)/cmd/llc2 \
$(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 \
ODE $(CLOSED)/cmd/tail \
$(CLOSED)/cmd/tr_xpg4
i386_SUBDIRS= \
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 \
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 \
auditd \
auditrecord \
auths \
autopush \
avs \
awk \
awk_xpg4 \
backup \
banner \
bart \
basename \
bnu \
bsmconv \
bsmunconv \
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 \
du \
dumpcs \
ed \
eject \
env \
eqn \
expand \
expr \
fcinfo \
fgrep \
file \
filesync \
find \
flowadm \
fm \
fold \
fs.d \
fwflash \
geniconvtbl \
genmsg \
getconf \
getent \
gettext \
gettxt \
grep \
grep_xpg4 \
grpck \
gss \
halt \
head \
hostname \
hotplug \
id \
idmap \
isaexec \
iscsi \
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 \
nispasswd \
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 \
sort \
split \
ssh \
stat \
stmfadm \
stmsboot \
strings \
su \
svc \
svr4pkg \
swap \
syseventadm \
syseventd \
tabs \
tar \
tbl \
time \
tnf \
touch \
tput \
troff \
tsol \
tty \
ttymon \
ul \
uname \
units \
unlink \
unpack \
valtools \
vgrind \
vi \
volcheck \
volrmmount \
vrrpadm \
w \
wbem \
who \
whodo \
wracct \
write \
wusbadm \
xargs \
yppasswd \
zdump \
zfs \
zic \
zlogin \
zoneadm \
zoneadmd \
zonecfg \
zonename \
zpool
$(CLOSED_BUILD)MSGSUBDIRS += \
$(CLOSED)/cmd/iconv \
$(CLOSED)/cmd/ksh \
$(CLOSED)/cmd/llc2 \
$(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 \
$(CLOSED)/cmd/tail \
$(CLOSED)/cmd/tr_xpg4
sparc_MSGSUBDIRS= \
fruadm \
prtdscp \
prtfru \
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 and device allocation
#
AUDITSUBDIRS= \
allocate \
amt \
audit \
audit_warn \
auditconfig \
auditd \
auditrecord \
auditreduce \
auditstat \
praudit \
bsmconv \
bsmunconv
#
# 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: