xref: /freebsd/include/Makefile (revision 75067f4f702154e49d475982591d9dcffa155afe)
1996997fdSBruce Evans#	@(#)Makefile	8.2 (Berkeley) 1/4/94
2a4add9a9SPeter Wemm# $FreeBSD$
359deaec5SRodney W. Grimes#
4a270eca5SBruce Evans# Doing a "make install" builds /usr/include.
559deaec5SRodney W. Grimes
6976cca35SBruce EvansCLEANFILES= osreldate.h version vers.c
7c7b111cbSRuslan ErmilovSUBDIR= arpa protocols rpcsvc rpc
88bdfc6bfSTim J. RobbinsINCS=	a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
916133e15STim J. Robbins	db.h \
10c544e42bSMarcel Moolenaar	dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
11b03b864aSDavid Schultz	fts.h ftw.h getopt.h glob.h grp.h \
123d86554cSPoul-Henning Kamp	histedit.h ieeefp.h ifaddrs.h \
13c544e42bSMarcel Moolenaar	inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
141332b4bdSRuslan Ermilov	locale.h malloc.h memory.h monetary.h mpool.h mqueue.h \
151332b4bdSRuslan Ermilov	ndbm.h netconfig.h \
1646d93063SJacques Vidrine	netdb.h nl_types.h nlist.h nss.h nsswitch.h objformat.h paths.h \
1775067f4fSPoul-Henning Kamp	printf.h proc_service.h pthread.h \
18c544e42bSMarcel Moolenaar	pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h regexp.h \
19228f8c4fSRuslan Ermilov	resolv.h runetype.h search.h setjmp.h sgtty.h \
203fb3a430SRuslan Ermilov	signal.h stab.h \
2179211790SPeter Wemm	stdbool.h stddef.h stdio.h stdlib.h string.h stringlist.h \
22b902e8b2SStefan Farfeleder	strings.h sysexits.h tar.h tgmath.h \
23b902e8b2SStefan Farfeleder	time.h timeconv.h timers.h ttyent.h \
24fefa0fd5SAlexander Kabaev	ulimit.h unistd.h utime.h utmp.h uuid.h varargs.h vis.h wchar.h \
25fefa0fd5SAlexander Kabaev	wctype.h wordexp.h
2659deaec5SRodney W. Grimes
27fefa0fd5SAlexander KabaevMHDRS=	float.h floatingpoint.h stdarg.h
28917e476dSPeter Dufault
29a8c06a09SCraig RodriguesPHDRS=	sched.h semaphore.h _semaphore.h
30917e476dSPeter Dufault
31a7aaf57eSRuslan ErmilovLHDRS=	aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \
320e8911b3SJohn Baldwin	termios.h ucontext.h
3359deaec5SRodney W. Grimes
342c075601SRobert WatsonLDIRS=	bsm cam geom net net80211 netatalk netatm netgraph netinet netinet6 \
35d1ab0560SSam Leffler	netipsec netipx netkey netnatm netncp netsmb nfs nfsclient nfsserver \
3691196234SPeter Wemm	pccard posix4 sys vm
3715f3c66cSMarcel Moolenaar
382c075601SRobert WatsonLSUBDIRS=	cam/scsi \
39f263522aSJoseph Koshy	dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \
406fa40729SScott Long	dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \
41b0f3cf44SXin LI	dev/pbio dev/ppbus dev/smbus dev/speaker dev/usb dev/wi dev/utopia \
426901ba93SDiomidis Spinellis	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs \
436901ba93SDiomidis Spinellis	fs/nwfs fs/portalfs fs/procfs fs/smbfs fs/udf fs/umapfs \
446901ba93SDiomidis Spinellis	fs/unionfs \
455ca1fcfeSPawel Jakub Dawidek	geom/concat geom/eli geom/gate geom/label geom/mirror geom/nop \
465ca1fcfeSPawel Jakub Dawidek	geom/raid3 geom/shsec geom/stripe \
476901ba93SDiomidis Spinellis	isofs/cd9660 \
486901ba93SDiomidis Spinellis	netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \
49fdbe44b0SGleb Smirnoff	netgraph/atm netgraph/netflow \
50fdbe44b0SGleb Smirnoff	security/mac_biba security/mac_bsdextended security/mac_lomac \
51fdbe44b0SGleb Smirnoff	security/mac_mls security/mac_partition \
5251be47e4SMark Murray	ufs/ffs ufs/ufs
5315f3c66cSMarcel Moolenaar
54d61902a5SPoul-Henning Kamp.if !defined(NO_GPIB)
55d61902a5SPoul-Henning Kamp_dev_ieee488=	dev/ieee488
56d61902a5SPoul-Henning Kamp.endif
57d61902a5SPoul-Henning Kamp
583d86554cSPoul-Henning Kamp.if defined(YES_HESIOD)
593d86554cSPoul-Henning KampINCS+=	hesiod.h
603d86554cSPoul-Henning Kamp.endif
613d86554cSPoul-Henning Kamp
6218d948adSMaksim Yevmenkin.if !defined(NO_BLUETOOTH)
63a270eca5SBruce EvansLSUBSUBDIRS=	netgraph/bluetooth/include
6418d948adSMaksim Yevmenkin.endif
65c2608318SRuslan Ermilov
6615f3c66cSMarcel Moolenaar# Define SHARED to indicate whether you want symbolic links to the system
6715f3c66cSMarcel Moolenaar# source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
6815f3c66cSMarcel Moolenaar# probably only useful for developers and should be avoided if you do not
6915f3c66cSMarcel Moolenaar# wish to tie your /usr/include and /usr/src together.
7015f3c66cSMarcel Moolenaar#SHARED=	symlinks
7115f3c66cSMarcel MoolenaarSHARED?=	copies
7259deaec5SRodney W. Grimes
73c7b111cbSRuslan ErmilovINCS+=	osreldate.h
743672faeaSPeter Wemm
753933c622SEivind Eklundosreldate.h:	${.CURDIR}/../sys/conf/newvers.sh \
76766ea92bSPeter Wemm		${.CURDIR}/../sys/sys/param.h \
77766ea92bSPeter Wemm		${.CURDIR}/Makefile
783672faeaSPeter Wemm	@${ECHO} creating osreldate.h from newvers.sh
7925634026SRuslan Ermilov	@setvar PARAMFILE ${.CURDIR}/../sys/sys/param.h; \
80e8f7141eSRuslan Ermilov	MAKE=${MAKE} . ${.CURDIR}/../sys/conf/newvers.sh;	\
813672faeaSPeter Wemm	echo "$$COPYRIGHT" > osreldate.h;			\
8244cde775SPeter Wemm	echo "#ifdef _KERNEL" >> osreldate.h;			\
83a270eca5SBruce Evans	echo '#error "<osreldate.h> cannot be used in the kernel, use <sys/param.h>"' >> osreldate.h; \
8444cde775SPeter Wemm	echo "#else" >> osreldate.h;				\
853672faeaSPeter Wemm	echo \#'undef __FreeBSD_version' >> osreldate.h;	\
8644cde775SPeter Wemm	echo \#'define __FreeBSD_version' $$RELDATE >> osreldate.h; \
8744cde775SPeter Wemm	echo "#endif" >> osreldate.h
883672faeaSPeter Wemm
89a7aaf57eSRuslan Ermilov.for i in ${LHDRS}
90c7b111cbSRuslan ErmilovINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
9102cca882SMarcel Moolenaar.endfor
92a7aaf57eSRuslan Ermilov.for i in ${MHDRS}
93c7b111cbSRuslan ErmilovINCSLINKS+=	machine/$i ${INCLUDEDIR}/$i
9402cca882SMarcel Moolenaar.endfor
95a7aaf57eSRuslan Ermilov.for i in ${PHDRS}
96c7b111cbSRuslan ErmilovINCSLINKS+=	posix4/$i ${INCLUDEDIR}/$i
9702cca882SMarcel Moolenaar.endfor
9815f3c66cSMarcel Moolenaar
998f3e5dd0SWarner Losh.if ${MACHINE} != ${MACHINE_ARCH}
1008f3e5dd0SWarner Losh_MARCH=${MACHINE_ARCH}
1018f3e5dd0SWarner Losh.endif
1028f3e5dd0SWarner Losh
103a270eca5SBruce Evans.include <bsd.prog.mk>
104a270eca5SBruce Evans
105a270eca5SBruce Evansinstallincludes: ${SHARED}
106a270eca5SBruce Evans${SHARED}: compat
107a270eca5SBruce Evans
108a270eca5SBruce Evans# Take care of stale directory-level symlinks.
109a270eca5SBruce Evanscompat:
1108f3e5dd0SWarner Losh.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCH} crypto
111a270eca5SBruce Evans	if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \
112a270eca5SBruce Evans		rm -f ${DESTDIR}${INCLUDEDIR}/$i; \
11315f3c66cSMarcel Moolenaar	fi
11415f3c66cSMarcel Moolenaar.endfor
115a270eca5SBruce Evans	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
116a270eca5SBruce Evans	    -f ${.CURDIR}/../etc/mtree/BSD.include.dist \
117a270eca5SBruce Evans	    -p ${DESTDIR}${INCLUDEDIR}
1182a614447SDoug Barton.if defined(WITH_BIND_LIBS) && !defined(NO_BIND)
1192a614447SDoug Barton	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
1202a614447SDoug Barton	    -f ${.CURDIR}/../etc/mtree/BIND.include.dist \
1212a614447SDoug Barton	    -p ${DESTDIR}${INCLUDEDIR}
1222a614447SDoug Barton.endif
123a270eca5SBruce Evans
124a270eca5SBruce Evanscopies:
1258f3e5dd0SWarner Losh.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \
1268f3e5dd0SWarner Losh	${_MARCH}
127a270eca5SBruce Evans.if exists(${DESTDIR}${INCLUDEDIR}/$i)
128a270eca5SBruce Evans	cd ${DESTDIR}${INCLUDEDIR}/$i; \
129a270eca5SBruce Evans	for h in *.h; do \
130a270eca5SBruce Evans		if [ -L $$h ]; then rm -f $$h; fi; \
131a270eca5SBruce Evans	done
132a270eca5SBruce Evans.endif
133a270eca5SBruce Evans.endfor
1349f97a43bSNate Lawson.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS}
13515f3c66cSMarcel Moolenaar	cd ${.CURDIR}/../sys; \
13615f3c66cSMarcel Moolenaar	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
137a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/$i
13815f3c66cSMarcel Moolenaar.endfor
1399f97a43bSNate Lawson	cd ${.CURDIR}/../sys/dev/acpica; \
1409f97a43bSNate Lawson	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \
1419f97a43bSNate Lawson	    ${DESTDIR}${INCLUDEDIR}/dev/acpica
142a5b5101fSDavid E. O'Brien	cd ${.CURDIR}/../sys/dev/bktr; \
143a5b5101fSDavid E. O'Brien	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
144a5b5101fSDavid E. O'Brien	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
14502b199f1SMax Laier	cd ${.CURDIR}/../sys/contrib/altq/altq; \
14602b199f1SMax Laier	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
14702b199f1SMax Laier	    ${DESTDIR}${INCLUDEDIR}/altq
148f98a656cSScott Long.if !defined(NO_IPFILTER)
149a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
150a97ec006SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
151a97ec006SRuslan Ermilov	    ${DESTDIR}${INCLUDEDIR}/netinet
152f98a656cSScott Long.endif
153278445baSMax Laier	cd ${.CURDIR}/../sys/contrib/pf/net; \
154278445baSMax Laier	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
155278445baSMax Laier	    ${DESTDIR}${INCLUDEDIR}/net
156df3c03a7SHajimu UMEMOTO	cd ${.CURDIR}/../sys/crypto; \
157df3c03a7SHajimu UMEMOTO	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \
158df3c03a7SHajimu UMEMOTO	    ${DESTDIR}${INCLUDEDIR}/crypto
159a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/opencrypto; \
160a97ec006SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
161a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/crypto
1628f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include; \
16386663b44SJonathan Lemon	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
164a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/machine
1658f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
1668f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
1679f1207d5SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
168a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/machine/pc
1699f1207d5SRuslan Ermilov.endif
1708f3e5dd0SWarner Losh.if defined(_MARCH)
171dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
172dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
1738f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include; \
1748f3e5dd0SWarner Losh	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
1758f3e5dd0SWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}
1768f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
177dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
178dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
1798f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
1808f3e5dd0SWarner Losh	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
1818f3e5dd0SWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
1828f3e5dd0SWarner Losh.endif
1838f3e5dd0SWarner Losh.endif
18459deaec5SRodney W. Grimes
18515f3c66cSMarcel Moolenaarsymlinks:
18615f3c66cSMarcel Moolenaar	@${ECHO} "Setting up symlinks to kernel source tree..."
187400dc950SPeter Wemm.for i in ${LDIRS}
188a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
189a270eca5SBruce Evans	for h in *.h; do \
190a270eca5SBruce Evans		ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
191a270eca5SBruce Evans	done
19215f3c66cSMarcel Moolenaar.endfor
1939f97a43bSNate Lawson.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr}
194a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
195a270eca5SBruce Evans	for h in *.h; do \
196a270eca5SBruce Evans		ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
197a270eca5SBruce Evans	done
198400dc950SPeter Wemm.endfor
1999f97a43bSNate Lawson	cd ${.CURDIR}/../sys/dev/acpica; \
2009f97a43bSNate Lawson	for h in acpiio.h; do \
2019f97a43bSNate Lawson		ln -fs ../../../../sys/dev/acpica/$$h \
2029f97a43bSNate Lawson		    ${DESTDIR}${INCLUDEDIR}/dev/acpica; \
2039f97a43bSNate Lawson	done
204829ba4deSRuslan Ermilov	cd ${.CURDIR}/../sys/dev/bktr; \
205829ba4deSRuslan Ermilov	for h in ioctl_*.h; do \
206829ba4deSRuslan Ermilov		ln -fs ../../../../sys/dev/bktr/$$h \
207829ba4deSRuslan Ermilov		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
208829ba4deSRuslan Ermilov	done
209a270eca5SBruce Evans.for i in ${LSUBSUBDIRS}
210a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
211a270eca5SBruce Evans	for h in *.h; do \
212a270eca5SBruce Evans		ln -fs ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
213a270eca5SBruce Evans	done
214a270eca5SBruce Evans.endfor
21502b199f1SMax Laier	cd ${.CURDIR}/../sys/contrib/altq/altq; \
21602b199f1SMax Laier	for h in *.h; do \
21702b199f1SMax Laier		ln -fs ../../../sys/contrib/altq/altq/$$h \
21802b199f1SMax Laier		    ${DESTDIR}${INCLUDEDIR}/altq; \
21902b199f1SMax Laier	done
220f98a656cSScott Long.if !defined(NO_IPFILTER)
221a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
222a97ec006SRuslan Ermilov	for h in *.h; do \
223a97ec006SRuslan Ermilov		ln -fs ../../../sys/contrib/ipfilter/netinet/$$h \
224a97ec006SRuslan Ermilov		    ${DESTDIR}${INCLUDEDIR}/netinet; \
225a97ec006SRuslan Ermilov	done
226f98a656cSScott Long.endif
227278445baSMax Laier	cd ${.CURDIR}/../sys/contrib/pf/net; \
228278445baSMax Laier	for h in *.h; do \
229278445baSMax Laier		ln -fs ../../../sys/contrib/pf/net/$$h \
230278445baSMax Laier		    ${DESTDIR}${INCLUDEDIR}/net; \
231278445baSMax Laier	done
232df3c03a7SHajimu UMEMOTO	cd ${.CURDIR}/../sys/crypto; \
233df3c03a7SHajimu UMEMOTO	for h in rijndael/rijndael.h; do \
234df3c03a7SHajimu UMEMOTO		ln -fs ../../../sys/crypto/$$h \
235df3c03a7SHajimu UMEMOTO		    ${DESTDIR}${INCLUDEDIR}/crypto; \
236df3c03a7SHajimu UMEMOTO	done
237a270eca5SBruce Evans	cd ${.CURDIR}/../sys/opencrypto; \
238a270eca5SBruce Evans	for h in *.h; do \
239a270eca5SBruce Evans		ln -fs ../../../sys/opencrypto/$$h \
240a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/crypto; \
241a270eca5SBruce Evans	done
2428f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include; \
243a270eca5SBruce Evans	for h in *.h; do \
2448f3e5dd0SWarner Losh		ln -fs ../../../sys/${MACHINE}/include/$$h \
245a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/machine; \
246a270eca5SBruce Evans	done
2478f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
2488f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
249a270eca5SBruce Evans	for h in *.h; do \
2508f3e5dd0SWarner Losh		ln -fs ../../../../sys/${MACHINE}/include/pc/$$h \
251a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/machine/pc; \
252a270eca5SBruce Evans	done
253a270eca5SBruce Evans.endif
2548f3e5dd0SWarner Losh.if defined(_MARCH)
255dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
256dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
2578f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include; \
2588f3e5dd0SWarner Losh	for h in *.h; do \
2598f3e5dd0SWarner Losh		ln -fs ../../../sys/${_MARCH}/include/$$h \
2608f3e5dd0SWarner Losh		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
2618f3e5dd0SWarner Losh	done
2628f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
263dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
264dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
2658f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
2668f3e5dd0SWarner Losh	for h in *.h; do \
2678f3e5dd0SWarner Losh		ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \
2688f3e5dd0SWarner Losh		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
2698f3e5dd0SWarner Losh	done
2708f3e5dd0SWarner Losh.endif
2718f3e5dd0SWarner Losh.endif
272