Makefile revision 179308
1140025Simp#	@(#)Makefile	8.2 (Berkeley) 1/4/94
239225Sgibbs# $FreeBSD: head/include/Makefile 179308 2008-05-25 22:11:40Z rwatson $
339225Sgibbs#
439225Sgibbs# Doing a "make install" builds /usr/include.
5140025Simp
6122363Simp.include <bsd.own.mk>
7140025Simp
8140025SimpCLEANFILES= osreldate.h version vers.c
939751SimpSUBDIR= arpa gssapi protocols rpcsvc rpc
1039751SimpINCS=	a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
1139751Simp	db.h \
1239751Simp	dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
1339751Simp	fts.h ftw.h getopt.h glob.h grp.h gssapi.h \
1439751Simp	histedit.h ieeefp.h ifaddrs.h \
1539751Simp	inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
16140040Simp	locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \
17140040Simp	ndbm.h netconfig.h \
18140040Simp	netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \
19140040Simp	printf.h proc_service.h pthread.h \
2039751Simp	pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h regexp.h \
2139751Simp	res_update.h resolv.h runetype.h search.h setjmp.h sgtty.h \
2239751Simp	signal.h stab.h \
2339751Simp	stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \
24140040Simp	strings.h sysexits.h tar.h tgmath.h \
25140040Simp	time.h timeconv.h timers.h ttyent.h \
2639751Simp	ulimit.h unistd.h utime.h utmp.h uuid.h varargs.h vis.h wchar.h \
2739751Simp	wctype.h wordexp.h
2839751Simp
2939751SimpI4BHDRS=i4b_cause.h i4b_debug.h i4b_ioctl.h i4b_rbch_ioctl.h \
3039751Simp	i4b_tel_ioctl.h i4b_trace.h
3139751Simp
3239751SimpMHDRS=	float.h floatingpoint.h stdarg.h
3339225Sgibbs
3439225SgibbsPHDRS=	sched.h semaphore.h _semaphore.h
3539225Sgibbs
3639225SgibbsLHDRS=	aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \
3739225Sgibbs	termios.h ucontext.h
3839225Sgibbs
3939225SgibbsLDIRS=	bsm cam geom net net80211 netatalk netgraph netinet netinet6 \
4039225Sgibbs	netipsec ${_netipx} netnatm ${_netncp} netsmb \
4139225Sgibbs	nfs nfsclient nfsserver \
4239225Sgibbs	pccard sys vm
4339225Sgibbs
4439225SgibbsLSUBDIRS=	cam/scsi \
4539225Sgibbs	dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \
4639225Sgibbs	dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \
4739225Sgibbs	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
4839225Sgibbs	dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
4939225Sgibbs	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \
5039225Sgibbs	${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \
5139225Sgibbs	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
5239225Sgibbs	geom/mirror geom/multipath geom/nop \
5339225Sgibbs	geom/raid3 geom/shsec geom/stripe geom/virstor \
5439225Sgibbs	netgraph/atm netgraph/netflow \
5539225Sgibbs	security/audit \
5639225Sgibbs	security/mac_biba security/mac_bsdextended security/mac_lomac \
5739225Sgibbs	security/mac_mls security/mac_partition \
5839225Sgibbs	ufs/ffs ufs/ufs
5939225Sgibbs
60119418SobrienLSUBSUBDIRS=	dev/mpt/mpilib
61119418Sobrien
62119418Sobrien.if ${MACHINE_ARCH} == "powerpc"
6339225Sgibbs_dev_powermac_nvram=	dev/powermac_nvram
64122597Simp.endif
65122363Simp
6639225Sgibbs.if ${MK_GPIB} != "no"
6739225Sgibbs_dev_ieee488=	dev/ieee488
68117126Sscottl.endif
69165102Smjacob
70117126Sscottl.if ${MK_HESIOD} != "no"
71122363SimpINCS+=	hesiod.h
7239225Sgibbs.endif
7339225Sgibbs
7439225Sgibbs.if ${MK_BLUETOOTH} != "no"
7539225SgibbsLSUBSUBDIRS+=	netgraph/bluetooth/include
7639225Sgibbs.endif
7739225Sgibbs
7839225Sgibbs# XXX unconditionally needed by <netsmb/netbios.h>
7939225Sgibbs#.if ${MK_IPX} != "no"
8039225Sgibbs_netipx=	netipx
8139225Sgibbs#.endif
8239225Sgibbs
8339225Sgibbs.if ${MK_NCP} != "no"
84122597Simp_netncp=	netncp
8539225Sgibbs_fs_nwfs=	fs/nwfs
8639751Simp.endif
8739751Simp
8839751Simp# Define SHARED to indicate whether you want symbolic links to the system
8939751Simp# source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
9039751Simp# probably only useful for developers and should be avoided if you do not
9139751Simp# wish to tie your /usr/include and /usr/src together.
9239225Sgibbs#SHARED=	symlinks
9339225SgibbsSHARED?=	copies
9439225Sgibbs
9539225SgibbsINCS+=	osreldate.h
96122597Simp
97122597Simposreldate.h: ${.CURDIR}/../sys/conf/newvers.sh ${.CURDIR}/../sys/sys/param.h \
9839225Sgibbs    ${.CURDIR}/Makefile
9939225Sgibbs	@${ECHO} creating osreldate.h from newvers.sh
10039225Sgibbs	@MAKE=${MAKE}; \
10139225Sgibbs	PARAMFILE=${.CURDIR}/../sys/sys/param.h; \
10239225Sgibbs	. ${.CURDIR}/../sys/conf/newvers.sh; \
10339225Sgibbs	echo "$$COPYRIGHT" > osreldate.h; \
10439225Sgibbs	echo "#ifdef _KERNEL" >> osreldate.h; \
10539225Sgibbs	echo "#error \"<osreldate.h> cannot be used in the kernel, use <sys/param.h>\"" >> osreldate.h; \
10639225Sgibbs	echo "#else" >> osreldate.h; \
10739225Sgibbs	echo "#undef __FreeBSD_version" >> osreldate.h; \
10839225Sgibbs	echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \
10939225Sgibbs	echo "#endif" >> osreldate.h
11039225Sgibbs
11139225Sgibbs.for i in ${LHDRS}
11239225SgibbsINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
11339225Sgibbs.endfor
11439225Sgibbs.for i in ${MHDRS}
11539225SgibbsINCSLINKS+=	machine/$i ${INCLUDEDIR}/$i
11639225Sgibbs.endfor
11739225Sgibbs.for i in ${PHDRS}
11839225SgibbsINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
11939225Sgibbs.endfor
12039225Sgibbs
12139225Sgibbs.if ${MACHINE} != ${MACHINE_ARCH}
12239225Sgibbs_MARCH=${MACHINE_ARCH}
12339225Sgibbs.endif
124181530Skeramida
125122340Simp.include <bsd.prog.mk>
12641047Sgibbs
12739225Sgibbsinstallincludes: ${SHARED}
128122340Simp${SHARED}: compat
12939225Sgibbs
130122340Simp# Take care of stale directory-level symlinks.
13141047Sgibbscompat:
13239225Sgibbs.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCH} crypto
13339225Sgibbs	if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \
134122340Simp		rm -f ${DESTDIR}${INCLUDEDIR}/$i; \
13539225Sgibbs	fi
13639225Sgibbs.endfor
137122340Simp	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
13839225Sgibbs	    -f ${.CURDIR}/../etc/mtree/BSD.include.dist \
13939225Sgibbs	    -p ${DESTDIR}${INCLUDEDIR}
140104713Speter.if ${MK_BIND_LIBS} != "no"
141104713Speter	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
14239225Sgibbs	    -f ${.CURDIR}/../etc/mtree/BIND.include.dist \
14339225Sgibbs	    -p ${DESTDIR}${INCLUDEDIR}
14439225Sgibbs.endif
14541047Sgibbs
14639225Sgibbscopies:
14739225Sgibbs.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \
14841047Sgibbs	${_MARCH}
14939225Sgibbs.if exists(${DESTDIR}${INCLUDEDIR}/$i)
15039225Sgibbs	cd ${DESTDIR}${INCLUDEDIR}/$i; \
15139225Sgibbs	for h in *.h; do \
15239225Sgibbs		if [ -L $$h ]; then rm -f $$h; fi; \
15339225Sgibbs	done
15439225Sgibbs.endif
15539225Sgibbs.endfor
15639225Sgibbs.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS}
15739225Sgibbs	cd ${.CURDIR}/../sys; \
15839225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
15939225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/$i
16039225Sgibbs.endfor
16139225Sgibbs	cd ${.CURDIR}/../sys/dev/acpica; \
16239225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \
16339225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/dev/acpica
16439225Sgibbs	cd ${.CURDIR}/../sys/dev/bktr; \
16541047Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
16639225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
16739225Sgibbs	cd ${.CURDIR}/../sys/contrib/altq/altq; \
16839225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
16939225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/altq
17039225Sgibbs	cd ${.CURDIR}/../sys/fs/cd9660/; \
17146602Speter	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
17239225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660
17339225Sgibbs.if ${MK_IPFILTER} != "no"
174122361Simp	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
175122361Simp	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
176122361Simp	    ${DESTDIR}${INCLUDEDIR}/netinet
17739225Sgibbs.endif
17839225Sgibbs	cd ${.CURDIR}/../sys/contrib/pf/net; \
17939225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
18039225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/net
18139225Sgibbs	cd ${.CURDIR}/../sys/crypto; \
18239225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \
18339225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/crypto
18439225Sgibbs.if ${MACHINE_ARCH} == "i386"
18542887Simp.if ${MK_I4B} != "no"
18642887Simp	cd ${.CURDIR}/../sys/i4b/include; \
18739225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${I4BHDRS} \
18839225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/i4b
18939225Sgibbs.endif
19039225Sgibbs.endif
19139225Sgibbs	cd ${.CURDIR}/../sys/opencrypto; \
19239225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
19339225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/crypto
19439225Sgibbs	cd ${.CURDIR}/../sys/${MACHINE}/include; \
19539225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
19639225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/machine
19739225Sgibbs.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
19839225Sgibbs	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
19939225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
200122340Simp	    ${DESTDIR}${INCLUDEDIR}/machine/pc
20139225Sgibbs.endif
202122340Simp.if defined(_MARCH)
20339225Sgibbs	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
20439225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
20539225Sgibbs	cd ${.CURDIR}/../sys/${_MARCH}/include; \
20639225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
20739225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}
20839225Sgibbs.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
20939225Sgibbs	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
21039225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
21139225Sgibbs	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
212122340Simp	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
21339225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
21439225Sgibbs.endif
21539225Sgibbs.endif
21639225Sgibbs	cd ${.CURDIR}/../sys/rpc; \
21739225Sgibbs	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
21839225Sgibbs	    ${DESTDIR}${INCLUDEDIR}/rpc
219122340Simp
22039225Sgibbssymlinks:
22139225Sgibbs	@${ECHO} "Setting up symlinks to kernel source tree..."
22239225Sgibbs.for i in ${LDIRS}
22339225Sgibbs	cd ${.CURDIR}/../sys/$i; \
22439225Sgibbs	for h in *.h; do \
22539225Sgibbs		ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
22697208Speter	done
22739225Sgibbs.endfor
22839225Sgibbs.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr}
22939225Sgibbs	cd ${.CURDIR}/../sys/$i; \
23039225Sgibbs	for h in *.h; do \
23139225Sgibbs		ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
23239225Sgibbs	done
23339225Sgibbs.endfor
23439225Sgibbs	cd ${.CURDIR}/../sys/dev/acpica; \
23539225Sgibbs	for h in acpiio.h; do \
23639225Sgibbs		ln -fs ../../../../sys/dev/acpica/$$h \
23739225Sgibbs		    ${DESTDIR}${INCLUDEDIR}/dev/acpica; \
23839225Sgibbs	done
23939852Simp	cd ${.CURDIR}/../sys/dev/bktr; \
24039225Sgibbs	for h in ioctl_*.h; do \
24139225Sgibbs		ln -fs ../../../../sys/dev/bktr/$$h \
24239225Sgibbs		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
24339225Sgibbs	done
24439225Sgibbs.for i in ${LSUBSUBDIRS}
24539225Sgibbs	cd ${.CURDIR}/../sys/$i; \
24639225Sgibbs	for h in *.h; do \
247122340Simp		ln -fs ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
248122340Simp	done
249122597Simp.endfor
25039225Sgibbs	cd ${.CURDIR}/../sys/contrib/altq/altq; \
25139225Sgibbs	for h in *.h; do \
25239225Sgibbs		ln -fs ../../../sys/contrib/altq/altq/$$h \
25339225Sgibbs		    ${DESTDIR}${INCLUDEDIR}/altq; \
25439225Sgibbs	done
255122597Simp.if ${MK_IPFILTER} != "no"
25639225Sgibbs	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
25739225Sgibbs	for h in *.h; do \
25839225Sgibbs		ln -fs ../../../sys/contrib/ipfilter/netinet/$$h \
25939225Sgibbs		    ${DESTDIR}${INCLUDEDIR}/netinet; \
26041047Sgibbs	done
26141047Sgibbs.endif
26241047Sgibbs	cd ${.CURDIR}/../sys/contrib/pf/net; \
26341047Sgibbs	for h in *.h; do \
26441047Sgibbs		ln -fs ../../../sys/contrib/pf/net/$$h \
265122597Simp		    ${DESTDIR}${INCLUDEDIR}/net; \
26641047Sgibbs	done
26741047Sgibbs	cd ${.CURDIR}/../sys/crypto; \
26841047Sgibbs	for h in rijndael/rijndael.h; do \
26941047Sgibbs		ln -fs ../../../sys/crypto/$$h \
27039852Simp		    ${DESTDIR}${INCLUDEDIR}/crypto; \
271108533Sschweikh	done
27239225Sgibbs	cd ${.CURDIR}/../sys/i4b/include; \
27341047Sgibbs	for h in ${I4BHDRS}; do \
274122340Simp		ln -fs ../../../sys/i4b/include/$$h \
27539852Simp		    ${DESTDIR}${INCLUDEDIR}/i4b; \
276122597Simp	done
27739225Sgibbs	cd ${.CURDIR}/../sys/opencrypto; \
27839225Sgibbs	for h in *.h; do \
27939852Simp		ln -fs ../../../sys/opencrypto/$$h \
28039852Simp		    ${DESTDIR}${INCLUDEDIR}/crypto; \
28139852Simp	done
28239852Simp	cd ${.CURDIR}/../sys/${MACHINE}/include; \
28339225Sgibbs	for h in *.h; do \
28439852Simp		ln -fs ../../../sys/${MACHINE}/include/$$h \
28539852Simp		    ${DESTDIR}${INCLUDEDIR}/machine; \
28639852Simp	done
28739852Simp.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
28839852Simp	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
28939852Simp	for h in *.h; do \
29041335Simp		ln -fs ../../../../sys/${MACHINE}/include/pc/$$h \
29141335Simp		    ${DESTDIR}${INCLUDEDIR}/machine/pc; \
29241335Simp	done
29341335Simp.endif
29441335Simp.if defined(_MARCH)
29541335Simp	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
29641335Simp	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
29746997Simp	cd ${.CURDIR}/../sys/${_MARCH}/include; \
29846997Simp	for h in *.h; do \
29941807Simp		ln -fs ../../../sys/${_MARCH}/include/$$h \
300122363Simp		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
30141807Simp	done
30241807Simp.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
30346997Simp	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
30446997Simp	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
30546997Simp	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
30639225Sgibbs	for h in *.h; do \
30739852Simp		ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \
30841335Simp		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
30941335Simp	done
31039852Simp.endif
31146997Simp.endif
312122597Simp	cd ${.CURDIR}/../sys/fs/cd9660; \
313122597Simp	for h in *.h; do \
31439852Simp		ln -fs ../../../../sys/fs/cd9660/$$h \
31541047Sgibbs		    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660; \
31639751Simp	done
317122363Simp	cd ${.CURDIR}/../sys/rpc; \
31839225Sgibbs	for h in types.h; do \
31939225Sgibbs		ln -fs ../../../sys/rpc/$$h \
32039225Sgibbs		    ${DESTDIR}${INCLUDEDIR}/rpc; \
32139225Sgibbs	done
32239225Sgibbs