Makefile revision 171271
1155517Sambrisko#	@(#)Makefile	8.2 (Berkeley) 1/4/94
2155517Sambrisko# $FreeBSD: head/include/Makefile 171271 2007-07-06 07:20:59Z bz $
3155517Sambrisko#
4155517Sambrisko# Doing a "make install" builds /usr/include.
5155517Sambrisko
6155517Sambrisko.include <bsd.own.mk>
7155517Sambrisko
8155517SambriskoCLEANFILES= osreldate.h version vers.c
9155517SambriskoSUBDIR= arpa gssapi protocols rpcsvc rpc
10155517SambriskoINCS=	a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
11155517Sambrisko	db.h \
12155517Sambrisko	dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
13155517Sambrisko	fts.h ftw.h getopt.h glob.h grp.h gssapi.h \
14155517Sambrisko	histedit.h ieeefp.h ifaddrs.h \
15155517Sambrisko	inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
16155517Sambrisko	locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \
17155517Sambrisko	ndbm.h netconfig.h \
18155517Sambrisko	netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \
19155517Sambrisko	printf.h proc_service.h pthread.h \
20155517Sambrisko	pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h regexp.h \
21155517Sambrisko	res_update.h resolv.h runetype.h search.h setjmp.h sgtty.h \
22155517Sambrisko	signal.h stab.h \
23155517Sambrisko	stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \
24155517Sambrisko	strings.h sysexits.h tar.h tgmath.h \
25155517Sambrisko	time.h timeconv.h timers.h ttyent.h \
26155517Sambrisko	ulimit.h unistd.h utime.h utmp.h uuid.h varargs.h vis.h wchar.h \
27155517Sambrisko	wctype.h wordexp.h
28155517Sambrisko
29155517SambriskoI4BHDRS=i4b_cause.h i4b_debug.h i4b_ioctl.h i4b_rbch_ioctl.h \
30155517Sambrisko	i4b_tel_ioctl.h i4b_trace.h
31155517Sambrisko
32162562SjhbMHDRS=	float.h floatingpoint.h stdarg.h
33162562Sjhb
34162562SjhbPHDRS=	sched.h semaphore.h _semaphore.h
35155517Sambrisko
36155517SambriskoLHDRS=	aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \
37162562Sjhb	termios.h ucontext.h
38155517Sambrisko
39162562SjhbLDIRS=	bsm cam geom net net80211 netatalk netatm netgraph netinet netinet6 \
40155517Sambrisko	netipsec ${_netipx} netnatm ${_netncp} netsmb \
41162562Sjhb	nfs nfsclient nfsserver \
42155517Sambrisko	pccard sys vm
43155517Sambrisko
44155517SambriskoLSUBDIRS=	cam/scsi \
45155517Sambrisko	dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \
46155517Sambrisko	dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \
47155517Sambrisko	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
48155517Sambrisko	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \
49155517Sambrisko	${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \
50155517Sambrisko	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
51155517Sambrisko	geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \
52278321Sjhb	netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \
53278321Sjhb	netgraph/atm netgraph/netflow \
54278321Sjhb	security/audit \
55278321Sjhb	security/mac_biba security/mac_bsdextended security/mac_lomac \
56278321Sjhb	security/mac_mls security/mac_partition \
57278321Sjhb	ufs/ffs ufs/ufs
58278321Sjhb
59278321Sjhb.if ${MACHINE_ARCH} == "powerpc"
60278321Sjhb_dev_powermac_nvram=	dev/powermac_nvram
61278321Sjhb.endif
62278321Sjhb
63278321Sjhb.if ${MK_GPIB} != "no"
64278321Sjhb_dev_ieee488=	dev/ieee488
65278321Sjhb.endif
66278321Sjhb
67278321Sjhb.if ${MK_HESIOD} != "no"
68278321SjhbINCS+=	hesiod.h
69155517Sambrisko.endif
70155517Sambrisko
71155517Sambrisko.if ${MK_BLUETOOTH} != "no"
72155517SambriskoLSUBSUBDIRS=	netgraph/bluetooth/include
73155517Sambrisko.endif
74155517Sambrisko
75155517Sambrisko# XXX unconditionally needed by <netsmb/netbios.h>
76155517Sambrisko#.if ${MK_IPX} != "no"
77155517Sambrisko_netipx=	netipx
78182322Sjhb#.endif
79155517Sambrisko
80155517Sambrisko.if ${MK_NCP} != "no"
81155517Sambrisko_netncp=	netncp
82155517Sambrisko_fs_nwfs=	fs/nwfs
83227309Sed.endif
84227309Sed
85155517Sambrisko# Define SHARED to indicate whether you want symbolic links to the system
86162562Sjhb# source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
87155517Sambrisko# probably only useful for developers and should be avoided if you do not
88155517Sambrisko# wish to tie your /usr/include and /usr/src together.
89155517Sambrisko#SHARED=	symlinks
90155517SambriskoSHARED?=	copies
91155517Sambrisko
92155517SambriskoINCS+=	osreldate.h
93155517Sambrisko
94155517Sambriskoosreldate.h: ${.CURDIR}/../sys/conf/newvers.sh ${.CURDIR}/../sys/sys/param.h \
95155517Sambrisko    ${.CURDIR}/Makefile
96227293Sed	@${ECHO} creating osreldate.h from newvers.sh
97155517Sambrisko	@MAKE=${MAKE}; \
98162562Sjhb	PARAMFILE=${.CURDIR}/../sys/sys/param.h; \
99162562Sjhb	. ${.CURDIR}/../sys/conf/newvers.sh; \
100155517Sambrisko	echo "$$COPYRIGHT" > osreldate.h; \
101162562Sjhb	echo "#ifdef _KERNEL" >> osreldate.h; \
102155517Sambrisko	echo "#error \"<osreldate.h> cannot be used in the kernel, use <sys/param.h>\"" >> osreldate.h; \
103182322Sjhb	echo "#else" >> osreldate.h; \
104155517Sambrisko	echo "#undef __FreeBSD_version" >> osreldate.h; \
105155517Sambrisko	echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \
106162562Sjhb	echo "#endif" >> osreldate.h
107155517Sambrisko
108182322Sjhb.for i in ${LHDRS}
109182322SjhbINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
110182322Sjhb.endfor
111182322Sjhb.for i in ${MHDRS}
112182322SjhbINCSLINKS+=	machine/$i ${INCLUDEDIR}/$i
113182322Sjhb.endfor
114182322Sjhb.for i in ${PHDRS}
115182322SjhbINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
116182322Sjhb.endfor
117182322Sjhb
118182322Sjhb.if ${MACHINE} != ${MACHINE_ARCH}
119182322Sjhb_MARCH=${MACHINE_ARCH}
120182322Sjhb.endif
121162562Sjhb
122182322Sjhb.include <bsd.prog.mk>
123162562Sjhb
124155517Sambriskoinstallincludes: ${SHARED}
125162562Sjhb${SHARED}: compat
126155517Sambrisko
127155517Sambrisko# Take care of stale directory-level symlinks.
128162562Sjhbcompat:
129162562Sjhb.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCH} crypto
130155517Sambrisko	if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \
131162562Sjhb		rm -f ${DESTDIR}${INCLUDEDIR}/$i; \
132155517Sambrisko	fi
133155517Sambrisko.endfor
134155517Sambrisko	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
135182322Sjhb	    -f ${.CURDIR}/../etc/mtree/BSD.include.dist \
136182322Sjhb	    -p ${DESTDIR}${INCLUDEDIR}
137155517Sambrisko.if ${MK_BIND_LIBS} != "no"
138182322Sjhb	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
139162562Sjhb	    -f ${.CURDIR}/../etc/mtree/BIND.include.dist \
140155517Sambrisko	    -p ${DESTDIR}${INCLUDEDIR}
141162562Sjhb.endif
142155517Sambrisko
143162562Sjhbcopies:
144155517Sambrisko.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \
145155517Sambrisko	${_MARCH}
146155517Sambrisko.if exists(${DESTDIR}${INCLUDEDIR}/$i)
147155517Sambrisko	cd ${DESTDIR}${INCLUDEDIR}/$i; \
148155517Sambrisko	for h in *.h; do \
149162562Sjhb		if [ -L $$h ]; then rm -f $$h; fi; \
150155517Sambrisko	done
151162562Sjhb.endif
152155517Sambrisko.endfor
153162562Sjhb.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS}
154155517Sambrisko	cd ${.CURDIR}/../sys; \
155155517Sambrisko	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
156162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/$i
157162562Sjhb.endfor
158155517Sambrisko	cd ${.CURDIR}/../sys/dev/acpica; \
159162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \
160162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/dev/acpica
161162562Sjhb	cd ${.CURDIR}/../sys/dev/bktr; \
162162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
163162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
164162562Sjhb	cd ${.CURDIR}/../sys/contrib/altq/altq; \
165162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
166162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/altq
167162562Sjhb	cd ${.CURDIR}/../sys/fs/cd9660/; \
168162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
169182322Sjhb	    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660
170182322Sjhb.if ${MK_IPFILTER} != "no"
171162562Sjhb	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
172162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
173162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/netinet
174155517Sambrisko.endif
175155517Sambrisko	cd ${.CURDIR}/../sys/contrib/pf/net; \
176182322Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
177162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/net
178155517Sambrisko	cd ${.CURDIR}/../sys/crypto; \
179162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \
180162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/crypto
181162562Sjhb.if ${MACHINE_ARCH} == "i386"
182162562Sjhb.if ${MK_I4B} != "no"
183162562Sjhb	cd ${.CURDIR}/../sys/i4b/include; \
184162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ${I4BHDRS} \
185162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/i4b
186162562Sjhb.endif
187162562Sjhb.endif
188162562Sjhb	cd ${.CURDIR}/../sys/opencrypto; \
189162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
190162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/crypto
191155517Sambrisko	cd ${.CURDIR}/../sys/${MACHINE}/include; \
192162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
193162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/machine
194162562Sjhb.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
195162562Sjhb	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
196162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
197162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/machine/pc
198162562Sjhb.endif
199162562Sjhb.if defined(_MARCH)
200162562Sjhb	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
201278321Sjhb	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
202278321Sjhb	cd ${.CURDIR}/../sys/${_MARCH}/include; \
203162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
204162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}
205162562Sjhb.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
206182322Sjhb	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
207162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
208162562Sjhb	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
209162562Sjhb	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
210162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
211155517Sambrisko.endif
212155517Sambrisko.endif
213155517Sambrisko	cd ${.CURDIR}/../sys/rpc; \
214155517Sambrisko	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
215155517Sambrisko	    ${DESTDIR}${INCLUDEDIR}/rpc
216155517Sambrisko
217155517Sambriskosymlinks:
218155517Sambrisko	@${ECHO} "Setting up symlinks to kernel source tree..."
219155517Sambrisko.for i in ${LDIRS}
220155517Sambrisko	cd ${.CURDIR}/../sys/$i; \
221155517Sambrisko	for h in *.h; do \
222162562Sjhb		ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
223155517Sambrisko	done
224155517Sambrisko.endfor
225162562Sjhb.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr}
226155517Sambrisko	cd ${.CURDIR}/../sys/$i; \
227155517Sambrisko	for h in *.h; do \
228155517Sambrisko		ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
229155517Sambrisko	done
230155517Sambrisko.endfor
231162562Sjhb	cd ${.CURDIR}/../sys/dev/acpica; \
232162562Sjhb	for h in acpiio.h; do \
233155517Sambrisko		ln -fs ../../../../sys/dev/acpica/$$h \
234155517Sambrisko		    ${DESTDIR}${INCLUDEDIR}/dev/acpica; \
235278321Sjhb	done
236162562Sjhb	cd ${.CURDIR}/../sys/dev/bktr; \
237162562Sjhb	for h in ioctl_*.h; do \
238162562Sjhb		ln -fs ../../../../sys/dev/bktr/$$h \
239162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
240162562Sjhb	done
241162562Sjhb.for i in ${LSUBSUBDIRS}
242162562Sjhb	cd ${.CURDIR}/../sys/$i; \
243162562Sjhb	for h in *.h; do \
244155517Sambrisko		ln -fs ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
245162562Sjhb	done
246162562Sjhb.endfor
247162562Sjhb	cd ${.CURDIR}/../sys/contrib/altq/altq; \
248155517Sambrisko	for h in *.h; do \
249162562Sjhb		ln -fs ../../../sys/contrib/altq/altq/$$h \
250162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/altq; \
251155517Sambrisko	done
252162562Sjhb.if ${MK_IPFILTER} != "no"
253155517Sambrisko	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
254155517Sambrisko	for h in *.h; do \
255155517Sambrisko		ln -fs ../../../sys/contrib/ipfilter/netinet/$$h \
256162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/netinet; \
257155517Sambrisko	done
258162562Sjhb.endif
259155517Sambrisko	cd ${.CURDIR}/../sys/contrib/pf/net; \
260155517Sambrisko	for h in *.h; do \
261155517Sambrisko		ln -fs ../../../sys/contrib/pf/net/$$h \
262278321Sjhb		    ${DESTDIR}${INCLUDEDIR}/net; \
263162562Sjhb	done
264155517Sambrisko	cd ${.CURDIR}/../sys/crypto; \
265162562Sjhb	for h in rijndael/rijndael.h; do \
266162562Sjhb		ln -fs ../../../sys/crypto/$$h \
267162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/crypto; \
268162562Sjhb	done
269155517Sambrisko	cd ${.CURDIR}/../sys/i4b/include; \
270155517Sambrisko	for h in ${I4BHDRS}; do \
271162562Sjhb		ln -fs ../../../sys/i4b/include/$$h \
272155517Sambrisko		    ${DESTDIR}${INCLUDEDIR}/i4b; \
273155517Sambrisko	done
274155517Sambrisko	cd ${.CURDIR}/../sys/opencrypto; \
275162562Sjhb	for h in *.h; do \
276278321Sjhb		ln -fs ../../../sys/opencrypto/$$h \
277162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/crypto; \
278162562Sjhb	done
279162562Sjhb	cd ${.CURDIR}/../sys/${MACHINE}/include; \
280155517Sambrisko	for h in *.h; do \
281155517Sambrisko		ln -fs ../../../sys/${MACHINE}/include/$$h \
282155517Sambrisko		    ${DESTDIR}${INCLUDEDIR}/machine; \
283162562Sjhb	done
284162562Sjhb.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
285162562Sjhb	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
286162562Sjhb	for h in *.h; do \
287155517Sambrisko		ln -fs ../../../../sys/${MACHINE}/include/pc/$$h \
288155517Sambrisko		    ${DESTDIR}${INCLUDEDIR}/machine/pc; \
289155517Sambrisko	done
290162562Sjhb.endif
291162562Sjhb.if defined(_MARCH)
292162562Sjhb	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
293155517Sambrisko	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
294155517Sambrisko	cd ${.CURDIR}/../sys/${_MARCH}/include; \
295155517Sambrisko	for h in *.h; do \
296162562Sjhb		ln -fs ../../../sys/${_MARCH}/include/$$h \
297155517Sambrisko		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
298155517Sambrisko	done
299155517Sambrisko.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
300162562Sjhb	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
301162562Sjhb	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
302155517Sambrisko	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
303155517Sambrisko	for h in *.h; do \
304155517Sambrisko		ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \
305162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
306162562Sjhb	done
307162562Sjhb.endif
308162562Sjhb.endif
309162562Sjhb	cd ${.CURDIR}/../sys/fs/cd9660; \
310162562Sjhb	for h in *.h; do \
311162562Sjhb		ln -fs ../../../../sys/fs/cd9660/$$h \
312162562Sjhb		    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660; \
313155517Sambrisko	done
314155517Sambrisko	cd ${.CURDIR}/../sys/rpc; \
315182322Sjhb	for h in types.h; do \
316182322Sjhb		ln -fs ../../../sys/rpc/$$h \
317182322Sjhb		    ${DESTDIR}${INCLUDEDIR}/rpc; \
318155517Sambrisko	done
319182322Sjhb