xref: /freebsd/include/Makefile (revision 7750ad47a9a7dbc83f87158464170c8640723293)
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
6e1fe3dbaSRuslan Ermilov.include <bsd.own.mk>
7e1fe3dbaSRuslan Ermilov
8976cca35SBruce EvansCLEANFILES= osreldate.h version vers.c
9a8ed63bbSDavid ChisnallSUBDIR= arpa gssapi protocols rpcsvc rpc xlocale
108bdfc6bfSTim J. RobbinsINCS=	a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
1116133e15STim J. Robbins	db.h \
12c544e42bSMarcel Moolenaar	dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
13c0b9f4feSDoug Rabson	fts.h ftw.h getopt.h glob.h grp.h gssapi.h \
141e3f1446SDavid E. O'Brien	ieeefp.h ifaddrs.h \
15c544e42bSMarcel Moolenaar	inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
166b2c15daSJason Evans	locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \
171332b4bdSRuslan Ermilov	ndbm.h netconfig.h \
18401a7f6fSPeter Wemm	netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \
1975067f4fSPoul-Henning Kamp	printf.h proc_service.h pthread.h \
20763ed733SEd Schouten	pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \
219b0f1823SDavid Xu	res_update.h resolv.h runetype.h search.h semaphore.h setjmp.h \
22367bebd4SEd Schouten	signal.h spawn.h stab.h stdalign.h stdatomic.h stdbool.h stddef.h \
23367bebd4SEd Schouten	stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \
24f14ad5faSEd Schouten	strings.h sysexits.h tar.h termios.h tgmath.h \
25b902e8b2SStefan Farfeleder	time.h timeconv.h timers.h ttyent.h \
268176ad36SEd Schouten	ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h vis.h \
27a8ed63bbSDavid Chisnall	wchar.h wctype.h wordexp.h xlocale.h
2859deaec5SRodney W. Grimes
29fefa0fd5SAlexander KabaevMHDRS=	float.h floatingpoint.h stdarg.h
30917e476dSPeter Dufault
319b0f1823SDavid XuPHDRS=	sched.h _semaphore.h
32917e476dSPeter Dufault
33a7aaf57eSRuslan ErmilovLHDRS=	aio.h errno.h fcntl.h linker_set.h poll.h stdint.h syslog.h \
34f14ad5faSEd Schouten	ucontext.h
3559deaec5SRodney W. Grimes
362b851aebSRobert WatsonLDIRS=	bsm cam geom net net80211 netatalk netgraph netinet netinet6 \
378409aedfSGeorge V. Neville-Neil	netipsec ${_netipx} netnatm ${_netncp} netsmb \
38cea557adSRuslan Ermilov	nfs nfsclient nfsserver \
395a25eda5SYoshihiro Takahashi	sys vm
4015f3c66cSMarcel Moolenaar
4152c9ce25SScott LongLSUBDIRS=	cam/ata cam/scsi \
422e0c6b7aSDavid E. O'Brien	dev/acpica dev/an dev/bktr dev/ciss dev/filemon dev/firewire dev/hwpmc \
433b5a03b1SKonstantin Belousov	dev/ic dev/iicbus ${_dev_ieee488} dev/io dev/lmc dev/mfi dev/ofw \
4413650420SRuslan Ermilov	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
4513650420SRuslan Ermilov	dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
467f725bcdSGrzegorz Bernacki	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/ntfs fs/nullfs \
47534046e3SRong-En Fan	${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \
48f348204cSPawel Jakub Dawidek	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
49b3f9d8c8SEdward Tomasz Napierala	geom/mirror geom/mountver geom/multipath geom/nop \
5089b17223SAlexander Motin	geom/raid geom/raid3 geom/shsec geom/stripe geom/virstor \
51fdbe44b0SGleb Smirnoff	netgraph/atm netgraph/netflow \
52013f1b34SRobert Watson	security/audit \
53fdbe44b0SGleb Smirnoff	security/mac_biba security/mac_bsdextended security/mac_lomac \
54fdbe44b0SGleb Smirnoff	security/mac_mls security/mac_partition \
5551be47e4SMark Murray	ufs/ffs ufs/ufs
5615f3c66cSMarcel Moolenaar
5711c63edeSAndrew ThompsonLSUBSUBDIRS=	dev/mpt/mpilib
58c16e2101SJohn Baldwin
598bb23971SNathan Whitehorn.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
60e5d34218SMaxim Sobolev_dev_powermac_nvram=	dev/powermac_nvram
61e5d34218SMaxim Sobolev.endif
62e5d34218SMaxim Sobolev
63e1fe3dbaSRuslan Ermilov.if ${MK_GPIB} != "no"
64d61902a5SPoul-Henning Kamp_dev_ieee488=	dev/ieee488
65d61902a5SPoul-Henning Kamp.endif
66d61902a5SPoul-Henning Kamp
67e1fe3dbaSRuslan Ermilov.if ${MK_HESIOD} != "no"
683d86554cSPoul-Henning KampINCS+=	hesiod.h
693d86554cSPoul-Henning Kamp.endif
703d86554cSPoul-Henning Kamp
71ad30f8e7SGabor Kovesdan.if ${MK_ICONV} != "no"
72ad30f8e7SGabor KovesdanINCS+=	iconv.h
73ad30f8e7SGabor Kovesdan.endif
74ad30f8e7SGabor Kovesdan
75e1fe3dbaSRuslan Ermilov.if ${MK_BLUETOOTH} != "no"
76c16e2101SJohn BaldwinLSUBSUBDIRS+=	netgraph/bluetooth/include
7718d948adSMaksim Yevmenkin.endif
78c2608318SRuslan Ermilov
79cea557adSRuslan Ermilov# XXX unconditionally needed by <netsmb/netbios.h>
80cea557adSRuslan Ermilov#.if ${MK_IPX} != "no"
81cea557adSRuslan Ermilov_netipx=	netipx
82cea557adSRuslan Ermilov#.endif
83cea557adSRuslan Ermilov
84cea557adSRuslan Ermilov.if ${MK_NCP} != "no"
85cea557adSRuslan Ermilov_netncp=	netncp
86cea557adSRuslan Ermilov_fs_nwfs=	fs/nwfs
87cea557adSRuslan Ermilov.endif
88cea557adSRuslan Ermilov
8915f3c66cSMarcel Moolenaar# Define SHARED to indicate whether you want symbolic links to the system
9015f3c66cSMarcel Moolenaar# source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
9115f3c66cSMarcel Moolenaar# probably only useful for developers and should be avoided if you do not
9215f3c66cSMarcel Moolenaar# wish to tie your /usr/include and /usr/src together.
9315f3c66cSMarcel Moolenaar#SHARED=	symlinks
9415f3c66cSMarcel MoolenaarSHARED?=	copies
9559deaec5SRodney W. Grimes
96c7b111cbSRuslan ErmilovINCS+=	osreldate.h
973672faeaSPeter Wemm
985f0c9ae1SRuslan Ermilovosreldate.h: ${.CURDIR}/../sys/conf/newvers.sh ${.CURDIR}/../sys/sys/param.h \
99766ea92bSPeter Wemm    ${.CURDIR}/Makefile
1003672faeaSPeter Wemm	@${ECHO} creating osreldate.h from newvers.sh
1015f0c9ae1SRuslan Ermilov	@MAKE=${MAKE}; \
1025f0c9ae1SRuslan Ermilov	PARAMFILE=${.CURDIR}/../sys/sys/param.h; \
1035f0c9ae1SRuslan Ermilov	. ${.CURDIR}/../sys/conf/newvers.sh; \
1043672faeaSPeter Wemm	echo "$$COPYRIGHT" > osreldate.h; \
10544cde775SPeter Wemm	echo "#ifdef _KERNEL" >> osreldate.h; \
1065f0c9ae1SRuslan Ermilov	echo "#error \"<osreldate.h> cannot be used in the kernel, use <sys/param.h>\"" >> osreldate.h; \
10744cde775SPeter Wemm	echo "#else" >> osreldate.h; \
1085f0c9ae1SRuslan Ermilov	echo "#undef __FreeBSD_version" >> osreldate.h; \
1095f0c9ae1SRuslan Ermilov	echo "#define __FreeBSD_version $$RELDATE" >> osreldate.h; \
110a718c0c3SPeter Wemm	echo "#endif" >> osreldate.h
1113672faeaSPeter Wemm
112a7aaf57eSRuslan Ermilov.for i in ${LHDRS}
113c7b111cbSRuslan ErmilovINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
11402cca882SMarcel Moolenaar.endfor
115a7aaf57eSRuslan Ermilov.for i in ${MHDRS}
116c7b111cbSRuslan ErmilovINCSLINKS+=	machine/$i ${INCLUDEDIR}/$i
11702cca882SMarcel Moolenaar.endfor
118a7aaf57eSRuslan Ermilov.for i in ${PHDRS}
1196aeb05d7STom RhodesINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
12002cca882SMarcel Moolenaar.endfor
12115f3c66cSMarcel Moolenaar
12225faff34SWarner Losh.if ${MACHINE} != ${MACHINE_CPUARCH}
123544de89dSJohn Baldwin_MARCHS=	${MACHINE_CPUARCH}
124544de89dSJohn Baldwin.endif
125544de89dSJohn Baldwin.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
126544de89dSJohn Baldwin_MARCHS+=	x86
1278f3e5dd0SWarner Losh.endif
1288f3e5dd0SWarner Losh
129*7750ad47SMarcel Moolenaar.if ${MK_STAGING} != "no"
130*7750ad47SMarcel Moolenaar# tell bsd.incs.mk that we have it covered
131*7750ad47SMarcel Moolenaarstage_includes:
132*7750ad47SMarcel Moolenaar.endif
133*7750ad47SMarcel Moolenaar
134a270eca5SBruce Evans.include <bsd.prog.mk>
135a270eca5SBruce Evans
136*7750ad47SMarcel Moolenaar.if ${MK_STAGING} != "no" && !defined(_SKIP_BUILD)
137*7750ad47SMarcel Moolenaar.if make(all)
138*7750ad47SMarcel MoolenaarDESTDIR= ${STAGE_OBJTOP}
139*7750ad47SMarcel Moolenaar# we want to keep this separate from the folk who
140*7750ad47SMarcel Moolenaar# do staging "normally"
141*7750ad47SMarcel MoolenaarINCLUDEDIR=	/include
142*7750ad47SMarcel Moolenaar
143*7750ad47SMarcel Moolenaarall:	stage_includes
144*7750ad47SMarcel Moolenaarinstallincludes: buildincludes
145*7750ad47SMarcel Moolenaarbuildincludes: stage_prep
146*7750ad47SMarcel Moolenaar
147*7750ad47SMarcel Moolenaarstage_prep:
148*7750ad47SMarcel Moolenaar	@mkdir -p ${DESTDIR}${INCLUDEDIR}
149*7750ad47SMarcel Moolenaar	@touch $@
150*7750ad47SMarcel Moolenaar
151*7750ad47SMarcel Moolenaarstage_includes: .dirdep installincludes
152*7750ad47SMarcel Moolenaar	@find ${DESTDIR}${INCLUDEDIR} -type d | while read d; do \
153*7750ad47SMarcel Moolenaar		rm -f $$d/.dirdep; \
154*7750ad47SMarcel Moolenaar		{ ln .dirdep $$d/.dirdep 2> /dev/null || \
155*7750ad47SMarcel Moolenaar		cp -p .dirdep $$d/.dirdep; }; \
156*7750ad47SMarcel Moolenaar	done
157*7750ad47SMarcel Moolenaar	@touch $@
158*7750ad47SMarcel Moolenaar.endif
159*7750ad47SMarcel Moolenaar.endif
160*7750ad47SMarcel Moolenaar
161a270eca5SBruce Evansinstallincludes: ${SHARED}
162a270eca5SBruce Evans${SHARED}: compat
163a270eca5SBruce Evans
164a270eca5SBruce Evans# Take care of stale directory-level symlinks.
165a270eca5SBruce Evanscompat:
166544de89dSJohn Baldwin.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto
167a270eca5SBruce Evans	if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \
168a270eca5SBruce Evans		rm -f ${DESTDIR}${INCLUDEDIR}/$i; \
16915f3c66cSMarcel Moolenaar	fi
17015f3c66cSMarcel Moolenaar.endfor
171a270eca5SBruce Evans	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
172a270eca5SBruce Evans	    -f ${.CURDIR}/../etc/mtree/BSD.include.dist \
173*7750ad47SMarcel Moolenaar	    -p ${DESTDIR}${INCLUDEDIR} > /dev/null
174e1fe3dbaSRuslan Ermilov.if ${MK_BIND_LIBS} != "no"
1752a614447SDoug Barton	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
1762a614447SDoug Barton	    -f ${.CURDIR}/../etc/mtree/BIND.include.dist \
177*7750ad47SMarcel Moolenaar	    -p ${DESTDIR}${INCLUDEDIR} > /dev/null
1782a614447SDoug Barton.endif
179a270eca5SBruce Evans
180a270eca5SBruce Evanscopies:
1818f3e5dd0SWarner Losh.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \
182544de89dSJohn Baldwin	${_MARCHS}
183a270eca5SBruce Evans.if exists(${DESTDIR}${INCLUDEDIR}/$i)
184a270eca5SBruce Evans	cd ${DESTDIR}${INCLUDEDIR}/$i; \
185a270eca5SBruce Evans	for h in *.h; do \
186a270eca5SBruce Evans		if [ -L $$h ]; then rm -f $$h; fi; \
187a270eca5SBruce Evans	done
188a270eca5SBruce Evans.endif
189a270eca5SBruce Evans.endfor
1907f725bcdSGrzegorz Bernacki.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand} ${LSUBSUBDIRS}
19115f3c66cSMarcel Moolenaar	cd ${.CURDIR}/../sys; \
19215f3c66cSMarcel Moolenaar	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
193a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/$i
19415f3c66cSMarcel Moolenaar.endfor
1959f97a43bSNate Lawson	cd ${.CURDIR}/../sys/dev/acpica; \
1969f97a43bSNate Lawson	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \
1979f97a43bSNate Lawson	    ${DESTDIR}${INCLUDEDIR}/dev/acpica
198a5b5101fSDavid E. O'Brien	cd ${.CURDIR}/../sys/dev/bktr; \
199a5b5101fSDavid E. O'Brien	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
200a5b5101fSDavid E. O'Brien	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
2017f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no"
2027f725bcdSGrzegorz Bernacki	cd ${.CURDIR}/../sys/dev/nand; \
2037f725bcdSGrzegorz Bernacki	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \
2047f725bcdSGrzegorz Bernacki	    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
2057f725bcdSGrzegorz Bernacki	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nand_dev.h \
2067f725bcdSGrzegorz Bernacki	    ${DESTDIR}${INCLUDEDIR}/dev/nand
2077f725bcdSGrzegorz Bernacki.endif
20802b199f1SMax Laier	cd ${.CURDIR}/../sys/contrib/altq/altq; \
20902b199f1SMax Laier	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
21002b199f1SMax Laier	    ${DESTDIR}${INCLUDEDIR}/altq
211d139ce67SCraig Rodrigues	cd ${.CURDIR}/../sys/fs/cd9660/; \
212d139ce67SCraig Rodrigues	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
213d139ce67SCraig Rodrigues	    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660
214e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
215a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
216a97ec006SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
217a97ec006SRuslan Ermilov	    ${DESTDIR}${INCLUDEDIR}/netinet
218f98a656cSScott Long.endif
219278445baSMax Laier	cd ${.CURDIR}/../sys/contrib/pf/net; \
220278445baSMax Laier	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
221278445baSMax Laier	    ${DESTDIR}${INCLUDEDIR}/net
222df3c03a7SHajimu UMEMOTO	cd ${.CURDIR}/../sys/crypto; \
223df3c03a7SHajimu UMEMOTO	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \
224df3c03a7SHajimu UMEMOTO	    ${DESTDIR}${INCLUDEDIR}/crypto
225a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/opencrypto; \
226a97ec006SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
227a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/crypto
2288f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include; \
22986663b44SJonathan Lemon	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
230a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/machine
2318f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
2328f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
2339f1207d5SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
234a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/machine/pc
2359f1207d5SRuslan Ermilov.endif
236544de89dSJohn Baldwin.for _MARCH in ${_MARCHS}
237544de89dSJohn Baldwin.if exists(${.CURDIR}/../sys/${_MARCH}/include)
238dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
239dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
2408f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include; \
2418f3e5dd0SWarner Losh	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
2428f3e5dd0SWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}
2438f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
244dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
245dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
2468f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
2478f3e5dd0SWarner Losh	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
2488f3e5dd0SWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
2498f3e5dd0SWarner Losh.endif
2508f3e5dd0SWarner Losh.endif
251544de89dSJohn Baldwin.endfor
2520fdce727SPawel Jakub Dawidek	cd ${.CURDIR}/../sys/rpc; \
2530fdce727SPawel Jakub Dawidek	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
2540fdce727SPawel Jakub Dawidek	    ${DESTDIR}${INCLUDEDIR}/rpc
25559deaec5SRodney W. Grimes
25615f3c66cSMarcel Moolenaarsymlinks:
25715f3c66cSMarcel Moolenaar	@${ECHO} "Setting up symlinks to kernel source tree..."
258400dc950SPeter Wemm.for i in ${LDIRS}
259a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
260a270eca5SBruce Evans	for h in *.h; do \
261a270eca5SBruce Evans		ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
262a270eca5SBruce Evans	done
26315f3c66cSMarcel Moolenaar.endfor
2647f725bcdSGrzegorz Bernacki.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand}
265a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
266a270eca5SBruce Evans	for h in *.h; do \
267a270eca5SBruce Evans		ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
268a270eca5SBruce Evans	done
269400dc950SPeter Wemm.endfor
2709f97a43bSNate Lawson	cd ${.CURDIR}/../sys/dev/acpica; \
2719f97a43bSNate Lawson	for h in acpiio.h; do \
2729f97a43bSNate Lawson		ln -fs ../../../../sys/dev/acpica/$$h \
2739f97a43bSNate Lawson		    ${DESTDIR}${INCLUDEDIR}/dev/acpica; \
2749f97a43bSNate Lawson	done
275829ba4deSRuslan Ermilov	cd ${.CURDIR}/../sys/dev/bktr; \
276829ba4deSRuslan Ermilov	for h in ioctl_*.h; do \
277829ba4deSRuslan Ermilov		ln -fs ../../../../sys/dev/bktr/$$h \
278829ba4deSRuslan Ermilov		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
279829ba4deSRuslan Ermilov	done
2807f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no"
2817f725bcdSGrzegorz Bernacki	cd ${.CURDIR}/../sys/dev/nand; \
2827f725bcdSGrzegorz Bernacki	for h in nandsim.h nand_dev.h; do \
2837f725bcdSGrzegorz Bernacki		ln -fs ../../../../sys/dev/nand/$$h \
2847f725bcdSGrzegorz Bernacki		    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
2857f725bcdSGrzegorz Bernacki	done
2867f725bcdSGrzegorz Bernacki.endif
287a270eca5SBruce Evans.for i in ${LSUBSUBDIRS}
288a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
289a270eca5SBruce Evans	for h in *.h; do \
290a270eca5SBruce Evans		ln -fs ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
291a270eca5SBruce Evans	done
292a270eca5SBruce Evans.endfor
29302b199f1SMax Laier	cd ${.CURDIR}/../sys/contrib/altq/altq; \
29402b199f1SMax Laier	for h in *.h; do \
29502b199f1SMax Laier		ln -fs ../../../sys/contrib/altq/altq/$$h \
29602b199f1SMax Laier		    ${DESTDIR}${INCLUDEDIR}/altq; \
29702b199f1SMax Laier	done
298e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
299a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
300a97ec006SRuslan Ermilov	for h in *.h; do \
301a97ec006SRuslan Ermilov		ln -fs ../../../sys/contrib/ipfilter/netinet/$$h \
302a97ec006SRuslan Ermilov		    ${DESTDIR}${INCLUDEDIR}/netinet; \
303a97ec006SRuslan Ermilov	done
304f98a656cSScott Long.endif
305278445baSMax Laier	cd ${.CURDIR}/../sys/contrib/pf/net; \
306278445baSMax Laier	for h in *.h; do \
307278445baSMax Laier		ln -fs ../../../sys/contrib/pf/net/$$h \
308278445baSMax Laier		    ${DESTDIR}${INCLUDEDIR}/net; \
309278445baSMax Laier	done
310df3c03a7SHajimu UMEMOTO	cd ${.CURDIR}/../sys/crypto; \
311df3c03a7SHajimu UMEMOTO	for h in rijndael/rijndael.h; do \
312df3c03a7SHajimu UMEMOTO		ln -fs ../../../sys/crypto/$$h \
313df3c03a7SHajimu UMEMOTO		    ${DESTDIR}${INCLUDEDIR}/crypto; \
314df3c03a7SHajimu UMEMOTO	done
315a270eca5SBruce Evans	cd ${.CURDIR}/../sys/opencrypto; \
316a270eca5SBruce Evans	for h in *.h; do \
317a270eca5SBruce Evans		ln -fs ../../../sys/opencrypto/$$h \
318a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/crypto; \
319a270eca5SBruce Evans	done
3208f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include; \
321a270eca5SBruce Evans	for h in *.h; do \
3228f3e5dd0SWarner Losh		ln -fs ../../../sys/${MACHINE}/include/$$h \
323a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/machine; \
324a270eca5SBruce Evans	done
3258f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
3268f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
327a270eca5SBruce Evans	for h in *.h; do \
3288f3e5dd0SWarner Losh		ln -fs ../../../../sys/${MACHINE}/include/pc/$$h \
329a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/machine/pc; \
330a270eca5SBruce Evans	done
331a270eca5SBruce Evans.endif
332544de89dSJohn Baldwin.for _MARCH in ${_MARCHS}
333544de89dSJohn Baldwin.if exists(${.CURDIR}/../sys/${_MARCH}/include)
334dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
335dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
3368f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include; \
3378f3e5dd0SWarner Losh	for h in *.h; do \
3388f3e5dd0SWarner Losh		ln -fs ../../../sys/${_MARCH}/include/$$h \
3398f3e5dd0SWarner Losh		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
3408f3e5dd0SWarner Losh	done
3418f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
342dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
343dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
3448f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
3458f3e5dd0SWarner Losh	for h in *.h; do \
3468f3e5dd0SWarner Losh		ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \
3478f3e5dd0SWarner Losh		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
3488f3e5dd0SWarner Losh	done
3498f3e5dd0SWarner Losh.endif
3508f3e5dd0SWarner Losh.endif
351544de89dSJohn Baldwin.endfor
352d139ce67SCraig Rodrigues	cd ${.CURDIR}/../sys/fs/cd9660; \
353d139ce67SCraig Rodrigues	for h in *.h; do \
354d139ce67SCraig Rodrigues		ln -fs ../../../../sys/fs/cd9660/$$h \
355d139ce67SCraig Rodrigues		    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660; \
356d139ce67SCraig Rodrigues	done
3570fdce727SPawel Jakub Dawidek	cd ${.CURDIR}/../sys/rpc; \
3580fdce727SPawel Jakub Dawidek	for h in types.h; do \
3590fdce727SPawel Jakub Dawidek		ln -fs ../../../sys/rpc/$$h \
3600fdce727SPawel Jakub Dawidek		    ${DESTDIR}${INCLUDEDIR}/rpc; \
3610fdce727SPawel Jakub Dawidek	done
362