Clean up include Makefile:

- use .for loops instead of shell for loops. This means we can be
   shown what is happening while it's going, rather than some pacifier
   "echo" statement.
 - use "${INSTALL} -C", nuke the "cmp -s" hack
 - for "copies" mode,  the include files are no longer touched each time
   the world is built. (ie: no rm -rf.  symlinks are removed, mtree builds
   the new dirs or confirms the existing ones)
 - osreldate.h is build in the local dir and conditionally installed,
   rather than built in /usr/include and either renamed or deleted.
This commit is contained in:
Peter Wemm 1996-08-29 19:57:48 +00:00
parent 1355933456
commit 56de53f256
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=17900

View File

@ -1,5 +1,5 @@
# From: @(#)Makefile 8.2 (Berkeley) 1/4/94 # From: @(#)Makefile 8.2 (Berkeley) 1/4/94
# $Id: Makefile,v 1.39 1996/08/04 22:34:23 wosch Exp $ # $Id: Makefile,v 1.40 1996/08/20 08:19:33 julian Exp $
# #
# Doing a make install builds /usr/include # Doing a make install builds /usr/include
# #
@ -22,11 +22,18 @@ FILES= a.out.h ar.h assert.h bitstring.h ctype.h db.h dirent.h disktab.h \
FILES+= math.h FILES+= math.h
.endif .endif
ARPAFILES= ftp.h inet.h nameser.h telnet.h tftp.h
PROTOFILES= dumprestore.h routed.h rwhod.h talkd.h timed.h
RPCFILES= auth.h auth_unix.h clnt.h pmap_clnt.h pmap_prot.h pmap_rmt.h \
rpc.h rpc_msg.h svc.h svc_auth.h types.h xdr.h
MFILES= float.h floatingpoint.h stdarg.h varargs.h MFILES= float.h floatingpoint.h stdarg.h varargs.h
LFILES= errno.h fcntl.h syslog.h termios.h LFILES= errno.h fcntl.h syslog.h termios.h
DIRS= arpa protocols rpc
LDIRS= net netatalk netinet netipx netkey nfs pccard sys vm #netccitt netiso netns LDIRS= net netatalk netinet netipx netkey nfs pccard sys vm #netccitt netiso netns
LUDIR= ufs LUDIR= ufs
UDIRS= ufs/ffs ufs/lfs ufs/mfs ufs/ufs UDIRS= ufs/ffs ufs/lfs ufs/mfs ufs/ufs
@ -36,90 +43,69 @@ UDIRS= ufs/ffs ufs/lfs ufs/mfs ufs/ufs
# SHARED= copies # SHARED= copies
SHARED?= symlinks SHARED?= symlinks
OSREL = ${DESTDIR}/usr/include/osreldate.h
beforeinstall: ${SHARED} beforeinstall: ${SHARED}
@${ECHO} installing ${FILES} cd ${.CURDIR}; \
@cd ${.CURDIR}; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
for i in ${FILES}; do \ ${FILES} ${DESTDIR}/usr/include
cmp -s $$i ${DESTDIR}/usr/include/$$i || \ cd ${.CURDIR}/arpa; \
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 $$i \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
${DESTDIR}/usr/include/$$i; \ ${ARPAFILES} ${DESTDIR}/usr/include/arpa
done cd ${.CURDIR}/protocols; \
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
${PROTOFILES} ${DESTDIR}/usr/include/protocols
@rm -f osreldate.h
.if exists (${.CURDIR}/../sys/conf/newvers.sh) .if exists (${.CURDIR}/../sys/conf/newvers.sh)
@${ECHO} creating osreldate.h from newvers.sh @${ECHO} creating osreldate.h from newvers.sh
. ${.CURDIR}/../sys/conf/newvers.sh; \ . ${.CURDIR}/../sys/conf/newvers.sh; \
echo "$$COPYRIGHT" >> ${OSREL}.new; \ echo "$$COPYRIGHT" > osreldate.h; \
echo \#'undef __FreeBSD_version' >> ${OSREL}.new; \ echo \#'undef __FreeBSD_version' >> osreldate.h; \
echo \#'define __FreeBSD_version' $$RELDATE >> ${OSREL}.new echo \#'define __FreeBSD_version' $$RELDATE >> osreldate.h
.else .else
@${ECHO} creating osreldate.h from sysctl info @${ECHO} creating osreldate.h from sysctl info
@echo \#'undef __FreeBSD_version' > ${OSREL}.new @echo \#'undef __FreeBSD_version' > osreldate.h
@echo \#'define __FreeBSD_version '`sysctl -n kern.osreldate` \ @echo \#'define __FreeBSD_version '`sysctl -n kern.osreldate` \
>> ${OSREL}.new >> osreldate.h
.endif .endif
@if cmp -s ${OSREL} ${OSREL}.new ; then \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 osreldate.h \
rm -f ${OSREL}.new ; else \ ${DESTDIR}/usr/include
mv -f ${OSREL}.new ${OSREL} ; fi .for i in ${LFILES}
@chown ${BINOWN}.${BINGRP} ${OSREL} ln -sf sys/$i ${DESTDIR}/usr/include/$i
@chmod 444 ${OSREL} .endfor
@${ECHO} installing ${DIRS} .for i in ${MFILES}
@-for i in ${DIRS}; do \ ln -sf machine/$i ${DESTDIR}/usr/include/$i
if [ ! -d ${DESTDIR}/usr/include/$$i ]; \ .endfor
then \
mkdir ${DESTDIR}/usr/include/$$i; \
fi; \
chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \
chmod 755 ${DESTDIR}/usr/include/$$i; \
(cd ${.CURDIR}/$$i; for j in *.[ih]; do \
cmp -s $$j ${DESTDIR}/usr/include/$$i/$$j || \
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 $$j \
${DESTDIR}/usr/include/$$i/$$j; \
done); \
done
@${ECHO} installing ${LFILES}
@-for i in ${LFILES}; do \
rm -f ${DESTDIR}/usr/include/$$i; \
ln -s sys/$$i ${DESTDIR}/usr/include/$$i; \
chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \
done
@${ECHO} installing ${MFILES}
@-for i in ${MFILES}; do \
rm -f ${DESTDIR}/usr/include/$$i; \
ln -s machine/$$i ${DESTDIR}/usr/include/$$i; \
chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \
done
copies: copies:
rm -rf ${DESTDIR}/usr/include/${LUDIR} .for i in ${LDIRS} ${UDIRS} ${LUDIR} machine
mkdir ${DESTDIR}/usr/include/${LUDIR} if [ -h ${DESTDIR}/usr/include/$i ]; then \
chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/${LUDIR} rm -f ${DESTDIR}/usr/include/$i; \
chmod 755 ${DESTDIR}/usr/include/${LUDIR} fi
@-for i in ${LDIRS} ${UDIRS}; do \ .endfor
${ECHO} ${SHARED} $$i; \ .for i in ${LDIRS} ${UDIRS} ${LUDIR} machine
rm -rf ${DESTDIR}/usr/include/$$i; \ if [ ! -d ${DESTDIR}/usr/include/$i ]; then \
cd ${.CURDIR}/../sys; \ mkdir ${DESTDIR}/usr/include/$i; \
tar cf - $$i/*.h | \ chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$i; \
(cd ${DESTDIR}/usr/include; tar xpfB -); \ chmod 755 ${DESTDIR}/usr/include/$i; \
chown -R ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i;\ fi
chmod -R 444 ${DESTDIR}/usr/include/$$i; \ .endfor
chmod 755 ${DESTDIR}/usr/include/$$i; \ .for i in ${LDIRS} ${UDIRS}
done cd ${.CURDIR}/../sys; \
rm -rf ${DESTDIR}/usr/include/machine ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
mkdir ${DESTDIR}/usr/include/machine ${DESTDIR}/usr/include/$i
cd ${.CURDIR}/../sys/${MACHINE}/include && \ .endfor
tar cf - *.h | (cd ${DESTDIR}/usr/include/machine; tar xpfB -); .if exists(${.CURDIR}/../sys/${MACHINE}/include)
chown -R ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/machine; cd ${.CURDIR}/../sys/${MACHINE}/include; \
chmod -R 444 ${DESTDIR}/usr/include/machine; ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
chmod 755 ${DESTDIR}/usr/include/machine; ${DESTDIR}/usr/include/machine
.endif
symlinks: symlinks:
@for i in ${LDIRS} ${LUDIR}; do \ @echo "Setting up symlinks to kernel source tree..."
${ECHO} ${SHARED} $$i; \ .for i in ${LDIRS} ${LUDIR}
rm -rf ${DESTDIR}/usr/include/$$i; \ rm -rf ${DESTDIR}/usr/include/$i && \
ln -s /sys/$$i ${DESTDIR}/usr/include/$$i; \ ln -s /sys/$i ${DESTDIR}/usr/include/$i
chown ${BINOWN}.${BINGRP} ${DESTDIR}/usr/include/$$i; \ .endfor
done rm -rf ${DESTDIR}/usr/include/machine && \
rm -rf ${DESTDIR}/usr/include/machine ln -s /sys/${MACHINE}/include ${DESTDIR}/usr/include/machine
ln -s /sys/${MACHINE}/include ${DESTDIR}/usr/include/machine
.include <bsd.prog.mk> .include <bsd.prog.mk>