c7b111cba8
via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to handle symlinking include files. Allow for multiple groups of include files to be installed, with the powerful INCSGROUPS knob. Documentation to follow. Added standard `includes' and `incsinstall' targets, use them in Makefile.inc1. Headers from the following makefiles were not installed before (during `includes' in Makefile.inc1): kerberos5/lib/libtelnet/Makefile lib/libbz2/Makefile lib/libdevinfo/Makefile lib/libform/Makefile lib/libisc/Makefile lib/libmenu/Makefile lib/libmilter/Makefile lib/libpanel/Makefile Replaced all `beforeinstall' targets for installing includes with the INCS stuff. Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS, and for compatibility with NetBSD. Similarly for INCOWN, INCGRP, and INCMODE. Consistently use INCLUDEDIR instead of /usr/include. gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes were only lightly tested due to the missing contrib/libstdc++-v3. I fully tested the pre-WIP_GCC31 version of this patch with the contrib/libstdc++.295 stuff. These changes have been tested on i386 with the -DNO_WERROR "make world" and "make release".
122 lines
4.1 KiB
Makefile
122 lines
4.1 KiB
Makefile
# @(#)Makefile 8.2 (Berkeley) 1/4/94
|
|
# $FreeBSD$
|
|
#
|
|
# Doing a make install builds /usr/include
|
|
#
|
|
# The ``rm -rf''s used below are safe because rm doesn't follow symbolic
|
|
# links.
|
|
|
|
CLEANFILES= osreldate.h version vers.c
|
|
SUBDIR= arpa protocols rpcsvc rpc
|
|
INCS= a.out.h ar.h assert.h bitstring.h complex.h ctype.h db.h \
|
|
dirent.h \
|
|
dlfcn.h elf.h elf-hints.h err.h fnmatch.h fstab.h \
|
|
fts.h glob.h grp.h \
|
|
hesiod.h histedit.h ieeefp.h ifaddrs.h inttypes.h iso646.h kenv.h \
|
|
langinfo.h \
|
|
libgen.h limits.h link.h locale.h malloc.h memory.h monetary.h mpool.h \
|
|
ndbm.h netconfig.h netdb.h nl_types.h nlist.h nsswitch.h objformat.h \
|
|
paths.h pthread.h pthread_np.h pwd.h \
|
|
ranlib.h readpassphrase.h regex.h regexp.h resolv.h rune.h runetype.h \
|
|
search.h setjmp.h sgtty.h \
|
|
signal.h stab.h stdbool.h stddef.h stdio.h stdlib.h strhash.h \
|
|
string.h stringlist.h strings.h sysexits.h tar.h time.h timers.h \
|
|
ttyent.h unistd.h utime.h utmp.h vis.h wchar.h wctype.h
|
|
|
|
MHDRS= float.h floatingpoint.h stdarg.h varargs.h
|
|
|
|
# posix4/aio.h conflicts with dysons and isn't installed:
|
|
PHDRS= mqueue.h sched.h semaphore.h # aio.h
|
|
|
|
LHDRS= aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \
|
|
termios.h ucontext.h
|
|
|
|
LDIRS= cam net netatalk netatm netgraph netinet netinet6 \
|
|
netipx netkey netnatm netncp netns netsmb nfs nfsclient nfsserver \
|
|
pccard posix4 sys vm
|
|
|
|
LSUBDIRS= cam/scsi dev/ic dev/ppbus dev/usb dev/wi dev/an fs/devfs \
|
|
fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \
|
|
fs/procfs fs/smbfs fs/umapfs fs/unionfs isofs/cd9660 \
|
|
netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \
|
|
security/lomac \
|
|
ufs/ffs ufs/ufs
|
|
|
|
# For SHARED=symlinks, cam and netatm are symlinks, so cam/scsi and netatm/*
|
|
# are taken care of
|
|
LSYMSUBDIRS= ${LSUBDIRS:Ncam/scsi:Nnetatm/*}
|
|
|
|
# Define SHARED to indicate whether you want symbolic links to the system
|
|
# source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is
|
|
# probably only useful for developers and should be avoided if you do not
|
|
# wish to tie your /usr/include and /usr/src together.
|
|
#SHARED= symlinks
|
|
SHARED?= copies
|
|
|
|
INCS+= osreldate.h
|
|
|
|
osreldate.h: ${.CURDIR}/../sys/conf/newvers.sh \
|
|
${.CURDIR}/../sys/sys/param.h \
|
|
${.CURDIR}/Makefile
|
|
@${ECHO} creating osreldate.h from newvers.sh
|
|
setvar PARAMFILE ${.CURDIR}/../sys/sys/param.h; \
|
|
. ${.CURDIR}/../sys/conf/newvers.sh; \
|
|
echo "$$COPYRIGHT" > osreldate.h; \
|
|
echo "#ifdef _KERNEL" >> osreldate.h; \
|
|
echo '#error "/usr/include/osreldate.h cannot be used in the kernel, use sys/param.h"' >> osreldate.h; \
|
|
echo "#else" >> osreldate.h; \
|
|
echo \#'undef __FreeBSD_version' >> osreldate.h; \
|
|
echo \#'define __FreeBSD_version' $$RELDATE >> osreldate.h; \
|
|
echo "#endif" >> osreldate.h
|
|
|
|
.for i in ${LHDRS}
|
|
INCSLINKS+= sys/$i ${INCLUDEDIR}/$i
|
|
.endfor
|
|
.for i in ${MHDRS}
|
|
INCSLINKS+= machine/$i ${INCLUDEDIR}/$i
|
|
.endfor
|
|
.for i in ${PHDRS}
|
|
INCSLINKS+= posix4/$i ${INCLUDEDIR}/$i
|
|
.endfor
|
|
|
|
copies:
|
|
.for i in ${LDIRS} ${LSYMSUBDIRS} machine
|
|
if [ -h ${DESTDIR}/usr/include/$i ]; then \
|
|
rm -f ${DESTDIR}/usr/include/$i; \
|
|
fi
|
|
.endfor
|
|
mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/../etc/mtree/BSD.include.dist \
|
|
-p ${DESTDIR}/usr/include
|
|
.for i in ${LDIRS} ${LSUBDIRS}
|
|
cd ${.CURDIR}/../sys; \
|
|
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
|
|
${DESTDIR}/usr/include/$i
|
|
.endfor
|
|
.if exists(${.CURDIR}/../sys/${MACHINE_ARCH}/include)
|
|
cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include; \
|
|
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
|
|
${DESTDIR}/usr/include/machine
|
|
.if exists(${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc)
|
|
cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc; \
|
|
${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
|
|
${DESTDIR}/usr/include/machine/pc
|
|
.endif
|
|
.endif
|
|
|
|
symlinks:
|
|
@${ECHO} "Setting up symlinks to kernel source tree..."
|
|
.for i in ${LDIRS}
|
|
rm -rf ${DESTDIR}/usr/include/$i
|
|
ln -s ../../sys/$i ${DESTDIR}/usr/include/$i
|
|
.endfor
|
|
.for i in ${LSYMSUBDIRS}
|
|
rm -rf ${DESTDIR}/usr/include/$i
|
|
ln -s ../../../sys/$i ${DESTDIR}/usr/include/$i
|
|
.endfor
|
|
rm -rf ${DESTDIR}/usr/include/machine
|
|
ln -s ../../sys/${MACHINE_ARCH}/include ${DESTDIR}/usr/include/machine
|
|
|
|
_incsinstall: ${SHARED}
|
|
|
|
.include <bsd.prog.mk>
|