xref: /freebsd/include/Makefile (revision d519cedbad91f407a94ab14e1f53bf534bc0e6db)
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
6c6063d0dSWarner Losh.include <src.opts.mk>
7e1fe3dbaSRuslan Ermilov
88e8319a6SBryan DreweryCLEANFILES= osreldate.h version
9dd987372STijl CoosemansSUBDIR= arpa protocols rpcsvc rpc xlocale
10aa92269eSBryan DrewerySUBDIR_PARALLEL=
118bdfc6bfSTim J. RobbinsINCS=	a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
1216133e15STim J. Robbins	db.h \
13c544e42bSMarcel Moolenaar	dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
14dd987372STijl Coosemans	fts.h ftw.h getopt.h glob.h grp.h \
151e3f1446SDavid E. O'Brien	ieeefp.h ifaddrs.h \
16c544e42bSMarcel Moolenaar	inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
176b2c15daSJason Evans	locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \
181332b4bdSRuslan Ermilov	ndbm.h netconfig.h \
19401a7f6fSPeter Wemm	netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \
2075067f4fSPoul-Henning Kamp	printf.h proc_service.h pthread.h \
21763ed733SEd Schouten	pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \
229b0f1823SDavid Xu	res_update.h resolv.h runetype.h search.h semaphore.h setjmp.h \
2306bee445SEd Schouten	signal.h spawn.h stab.h stdalign.h stdbool.h stddef.h \
24367bebd4SEd Schouten	stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \
25f14ad5faSEd Schouten	strings.h sysexits.h tar.h termios.h tgmath.h \
26b902e8b2SStefan Farfeleder	time.h timeconv.h timers.h ttyent.h \
2750c77c6eSEd Schouten	uchar.h ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h \
28a8ed63bbSDavid Chisnall	wchar.h wctype.h wordexp.h xlocale.h
2959deaec5SRodney W. Grimes
308ccca122SBrooks Davis.PATH: ${.CURDIR}/../contrib/libc-vis
318ccca122SBrooks DavisINCS+=	vis.h
328ccca122SBrooks Davis
33fefa0fd5SAlexander KabaevMHDRS=	float.h floatingpoint.h stdarg.h
34917e476dSPeter Dufault
359b0f1823SDavid XuPHDRS=	sched.h _semaphore.h
36917e476dSPeter Dufault
3706bee445SEd SchoutenLHDRS=	aio.h errno.h fcntl.h linker_set.h poll.h stdatomic.h stdint.h \
3806bee445SEd Schouten	syslog.h ucontext.h
3959deaec5SRodney W. Grimes
4045c203fcSGleb SmirnoffLDIRS=	bsm cam geom net net80211 netgraph netinet netinet6 \
412c284d93SGleb Smirnoff	netipsec netnatm netsmb nfs nfsclient nfsserver sys vm
4215f3c66cSMarcel Moolenaar
4352c9ce25SScott LongLSUBDIRS=	cam/ata cam/scsi \
440895e9c7SJohn Baldwin	dev/acpica dev/agp dev/an dev/bktr dev/ciss dev/filemon dev/firewire \
450895e9c7SJohn Baldwin	dev/hwpmc \
46c05bafc5SPoul-Henning Kamp	dev/ic dev/iicbus dev/io dev/lmc dev/mfi dev/nvme \
470895e9c7SJohn Baldwin	dev/ofw dev/pbio dev/pci ${_dev_powermac_nvram} dev/ppbus dev/smbus \
480341ccf2SEnji Cooper	dev/speaker dev/utopia dev/vkbd dev/wi \
49a42ac676SAttilio Rao	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/nullfs \
50237abf0cSDavide Italiano	fs/procfs fs/smbfs fs/udf fs/unionfs \
51f348204cSPawel Jakub Dawidek	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
52b3f9d8c8SEdward Tomasz Napierala	geom/mirror geom/mountver geom/multipath geom/nop \
5389b17223SAlexander Motin	geom/raid geom/raid3 geom/shsec geom/stripe geom/virstor \
54772e66a6SGleb Smirnoff	net/altq \
55fdbe44b0SGleb Smirnoff	netgraph/atm netgraph/netflow \
56*d519cedbSGleb Smirnoff	netinet/cc \
57013f1b34SRobert Watson	security/audit \
58fdbe44b0SGleb Smirnoff	security/mac_biba security/mac_bsdextended security/mac_lomac \
59fdbe44b0SGleb Smirnoff	security/mac_mls security/mac_partition \
6051be47e4SMark Murray	ufs/ffs ufs/ufs
6115f3c66cSMarcel Moolenaar
6211c63edeSAndrew ThompsonLSUBSUBDIRS=	dev/mpt/mpilib
63c16e2101SJohn Baldwin
647e4a2c28SEnji Cooper.if ${MK_BLUETOOTH} != "no"
657e4a2c28SEnji CooperLSUBSUBDIRS+=	netgraph/bluetooth/include
667e4a2c28SEnji Cooper.endif
677e4a2c28SEnji Cooper
688b77741eSEnji Cooper.if ${MK_CUSE} != "no"
698b77741eSEnji CooperLSUBDIRS+=	fs/cuse
708b77741eSEnji Cooper.endif
718b77741eSEnji Cooper
72dd987372STijl Coosemans.if ${MK_GSSAPI} != "no"
73dd987372STijl CoosemansSUBDIR+=	gssapi
74dd987372STijl CoosemansINCS+=		gssapi.h
75dd987372STijl Coosemans.endif
76dd987372STijl Coosemans
77e1fe3dbaSRuslan Ermilov.if ${MK_HESIOD} != "no"
783d86554cSPoul-Henning KampINCS+=	hesiod.h
793d86554cSPoul-Henning Kamp.endif
803d86554cSPoul-Henning Kamp
810ff204bbSPeter Wemm# Handle the #define aliases for libiconv
820ff204bbSPeter Wemm.if ${MK_ICONV} == "yes"
83912ce912SPeter WemmINCS+=		iconv.h
840ff204bbSPeter Wemm.endif
850ff204bbSPeter Wemm
867e4a2c28SEnji Cooper.if ${MK_USB} != "no"
877e4a2c28SEnji CooperLSUBDIRS+=	dev/usb
887e4a2c28SEnji Cooper.endif
897e4a2c28SEnji Cooper
907e4a2c28SEnji Cooper.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
917e4a2c28SEnji Cooper_dev_powermac_nvram=	dev/powermac_nvram
927e4a2c28SEnji Cooper.endif
930ff204bbSPeter Wemm
9415f3c66cSMarcel Moolenaar# Define SHARED to indicate whether you want symbolic links to the system
9515f3c66cSMarcel Moolenaar# source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
9615f3c66cSMarcel Moolenaar# probably only useful for developers and should be avoided if you do not
9715f3c66cSMarcel Moolenaar# wish to tie your /usr/include and /usr/src together.
9815f3c66cSMarcel Moolenaar#SHARED=	symlinks
9915f3c66cSMarcel MoolenaarSHARED?=	copies
10059deaec5SRodney W. Grimes
101c7b111cbSRuslan ErmilovINCS+=	osreldate.h
1023672faeaSPeter Wemm
1030210509aSIan LeporeSYSDIR=			${.CURDIR}/../sys
1040210509aSIan LeporeNEWVERS_SH=		${SYSDIR}/conf/newvers.sh
1050210509aSIan LeporePARAM_H=		${SYSDIR}/sys/param.h
106bfe5c479SIan LeporeMK_OSRELDATE_SH=	${.CURDIR}/mk-osreldate.sh
107bfe5c479SIan Lepore
108d32e83c2SBryan DrewerySYMLINKS+= ${INCLUDEDIR} ${LIBDIR}/include
109d32e83c2SBryan Drewery
1108e8319a6SBryan Dreweryosreldate.h: ${NEWVERS_SH} ${PARAM_H} ${MK_OSRELDATE_SH}
1118e8319a6SBryan Drewery	env NEWVERS_SH=${NEWVERS_SH} PARAMFILE=${PARAM_H} SYSDIR=${SYSDIR} \
112dd5f1297SIan Lepore	    sh ${MK_OSRELDATE_SH}
1133672faeaSPeter Wemm
114a7aaf57eSRuslan Ermilov.for i in ${LHDRS}
115c7b111cbSRuslan ErmilovINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
11602cca882SMarcel Moolenaar.endfor
117a7aaf57eSRuslan Ermilov.for i in ${MHDRS}
118c7b111cbSRuslan ErmilovINCSLINKS+=	machine/$i ${INCLUDEDIR}/$i
11902cca882SMarcel Moolenaar.endfor
120a7aaf57eSRuslan Ermilov.for i in ${PHDRS}
1216aeb05d7STom RhodesINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
12202cca882SMarcel Moolenaar.endfor
12315f3c66cSMarcel Moolenaar
12425faff34SWarner Losh.if ${MACHINE} != ${MACHINE_CPUARCH}
125544de89dSJohn Baldwin_MARCHS=	${MACHINE_CPUARCH}
126544de89dSJohn Baldwin.endif
127544de89dSJohn Baldwin.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
128544de89dSJohn Baldwin_MARCHS+=	x86
1298f3e5dd0SWarner Losh.endif
1308f3e5dd0SWarner Losh
131ccfb9654SSimon J. Gerraty.if ${MK_STAGING} == "yes"
1327750ad47SMarcel Moolenaar# tell bsd.incs.mk that we have it covered
1331a682d2cSSimon J. GerratyNO_STAGE_INCLUDES=
1347750ad47SMarcel Moolenaar.endif
1357750ad47SMarcel Moolenaar
136a270eca5SBruce Evans.include <bsd.prog.mk>
137a270eca5SBruce Evans
1387750ad47SMarcel Moolenaar.if ${MK_STAGING} != "no" && !defined(_SKIP_BUILD)
1397750ad47SMarcel Moolenaar.if make(all)
1407750ad47SMarcel MoolenaarDESTDIR= ${STAGE_OBJTOP}
1417750ad47SMarcel Moolenaar
1420a117278SSimon J. Gerratyall:	stage_include
1437750ad47SMarcel Moolenaarinstallincludes: buildincludes
1447750ad47SMarcel Moolenaarbuildincludes: stage_prep
1457750ad47SMarcel Moolenaar
1467750ad47SMarcel Moolenaarstage_prep:
1477750ad47SMarcel Moolenaar	@mkdir -p ${DESTDIR}${INCLUDEDIR}
1487750ad47SMarcel Moolenaar	@touch $@
1497750ad47SMarcel Moolenaar
1500a117278SSimon J. Gerratystage_include: .dirdep installincludes
1517750ad47SMarcel Moolenaar	@touch $@
1527750ad47SMarcel Moolenaar.endif
1537750ad47SMarcel Moolenaar.endif
1547750ad47SMarcel Moolenaar
155a270eca5SBruce Evansinstallincludes: ${SHARED}
156a270eca5SBruce Evans${SHARED}: compat
157a270eca5SBruce Evans
158a270eca5SBruce Evans# Take care of stale directory-level symlinks.
159a270eca5SBruce Evanscompat:
160544de89dSJohn Baldwin.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto
161a270eca5SBruce Evans	if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \
162a270eca5SBruce Evans		rm -f ${DESTDIR}${INCLUDEDIR}/$i; \
16315f3c66cSMarcel Moolenaar	fi
16415f3c66cSMarcel Moolenaar.endfor
165a270eca5SBruce Evans	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
166a270eca5SBruce Evans	    -f ${.CURDIR}/../etc/mtree/BSD.include.dist \
1677750ad47SMarcel Moolenaar	    -p ${DESTDIR}${INCLUDEDIR} > /dev/null
168948f327eSSimon J. Gerraty.if ${MK_DIRDEPS_BUILD} == "yes"
1694af9d62aSBryan Drewery	@touch ${.TARGET}
17043425d65SSimon J. Gerraty.endif
171a270eca5SBruce Evans
172a270eca5SBruce Evanscopies:
173772e66a6SGleb Smirnoff.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \
174544de89dSJohn Baldwin	${_MARCHS}
175df884b5cSBryan Drewery	if [ -d ${DESTDIR}${INCLUDEDIR}/$i ]; then \
176a270eca5SBruce Evans		cd ${DESTDIR}${INCLUDEDIR}/$i; \
177a270eca5SBruce Evans		for h in *.h; do \
178a270eca5SBruce Evans			if [ -L $$h ]; then rm -f $$h; fi; \
179df884b5cSBryan Drewery		done; \
180df884b5cSBryan Drewery	fi
181a270eca5SBruce Evans.endfor
1820895e9c7SJohn Baldwin.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/nand:Ndev/pci} ${LSUBSUBDIRS}
18315f3c66cSMarcel Moolenaar	cd ${.CURDIR}/../sys; \
18415f3c66cSMarcel Moolenaar	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
185a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/$i
18615f3c66cSMarcel Moolenaar.endfor
1879f97a43bSNate Lawson	cd ${.CURDIR}/../sys/dev/acpica; \
1889f97a43bSNate Lawson	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \
1896bd00083SRui Paulo	    ${DESTDIR}${INCLUDEDIR}/dev/acpica; \
1903149cc9dSRui Paulo	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 acpi_hpet.h \
1913149cc9dSRui Paulo	    ${DESTDIR}${INCLUDEDIR}/dev/acpica
1920895e9c7SJohn Baldwin	cd ${.CURDIR}/../sys/dev/agp; \
1930895e9c7SJohn Baldwin	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 agpreg.h \
1940895e9c7SJohn Baldwin	    ${DESTDIR}${INCLUDEDIR}/dev/agp
195a5b5101fSDavid E. O'Brien	cd ${.CURDIR}/../sys/dev/bktr; \
196a5b5101fSDavid E. O'Brien	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
197a5b5101fSDavid E. O'Brien	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
1987f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no"
1997f725bcdSGrzegorz Bernacki	cd ${.CURDIR}/../sys/dev/nand; \
2007f725bcdSGrzegorz Bernacki	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \
2017f725bcdSGrzegorz Bernacki	    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
2027f725bcdSGrzegorz Bernacki	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nand_dev.h \
2037f725bcdSGrzegorz Bernacki	    ${DESTDIR}${INCLUDEDIR}/dev/nand
2047f725bcdSGrzegorz Bernacki.endif
2050895e9c7SJohn Baldwin	cd ${.CURDIR}/../sys/dev/pci; \
2060895e9c7SJohn Baldwin	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 pcireg.h \
2070895e9c7SJohn Baldwin	    ${DESTDIR}${INCLUDEDIR}/dev/pci
208d139ce67SCraig Rodrigues	cd ${.CURDIR}/../sys/fs/cd9660/; \
209d139ce67SCraig Rodrigues	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
210d139ce67SCraig Rodrigues	    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660
211e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
212a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
213a97ec006SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
214a97ec006SRuslan Ermilov	    ${DESTDIR}${INCLUDEDIR}/netinet
215f98a656cSScott Long.endif
216b6883113SSean Bruno.if ${MK_PF} != "no"
217b6883113SSean Bruno	cd ${.CURDIR}/../sys/netpfil/pf; \
218b6883113SSean Bruno	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
219b6883113SSean Bruno	    ${DESTDIR}${INCLUDEDIR}/netpfil/pf
220b6883113SSean Bruno.endif
221df3c03a7SHajimu UMEMOTO	cd ${.CURDIR}/../sys/crypto; \
222df3c03a7SHajimu UMEMOTO	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \
223df3c03a7SHajimu UMEMOTO	    ${DESTDIR}${INCLUDEDIR}/crypto
224a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/opencrypto; \
225a97ec006SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
226a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/crypto
2278f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include; \
22886663b44SJonathan Lemon	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
229a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/machine
2308f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
2318f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
2329f1207d5SRuslan Ermilov	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
233a270eca5SBruce Evans	    ${DESTDIR}${INCLUDEDIR}/machine/pc
2349f1207d5SRuslan Ermilov.endif
235544de89dSJohn Baldwin.for _MARCH in ${_MARCHS}
236544de89dSJohn Baldwin.if exists(${.CURDIR}/../sys/${_MARCH}/include)
237dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
238dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
2398f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include; \
2408f3e5dd0SWarner Losh	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
2418f3e5dd0SWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}
2428f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
243dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
244dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
2458f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
2468f3e5dd0SWarner Losh	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
2478f3e5dd0SWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
2488f3e5dd0SWarner Losh.endif
2498f3e5dd0SWarner Losh.endif
250544de89dSJohn Baldwin.endfor
2510fdce727SPawel Jakub Dawidek	cd ${.CURDIR}/../sys/rpc; \
2520fdce727SPawel Jakub Dawidek	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
2530fdce727SPawel Jakub Dawidek	    ${DESTDIR}${INCLUDEDIR}/rpc
2544874c080SAleksandr Rybalko	cd ${.CURDIR}/../sys/teken; \
2554874c080SAleksandr Rybalko	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \
2564874c080SAleksandr Rybalko	    ${DESTDIR}${INCLUDEDIR}/teken
257948f327eSSimon J. Gerraty.if ${MK_DIRDEPS_BUILD} == "yes"
2584af9d62aSBryan Drewery	@touch ${.OBJDIR}/${.TARGET}
25943425d65SSimon J. Gerraty.endif
26059deaec5SRodney W. Grimes
26115f3c66cSMarcel Moolenaarsymlinks:
26215f3c66cSMarcel Moolenaar	@${ECHO} "Setting up symlinks to kernel source tree..."
263400dc950SPeter Wemm.for i in ${LDIRS}
264a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
265a270eca5SBruce Evans	for h in *.h; do \
266a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
267a270eca5SBruce Evans	done
26815f3c66cSMarcel Moolenaar.endfor
2690895e9c7SJohn Baldwin.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/nand:Ndev/pci}
270a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
271a270eca5SBruce Evans	for h in *.h; do \
272a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
273a270eca5SBruce Evans	done
274400dc950SPeter Wemm.endfor
2759f97a43bSNate Lawson	cd ${.CURDIR}/../sys/dev/acpica; \
2763149cc9dSRui Paulo	for h in acpiio.h acpi_hpet.h; do \
277a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/dev/acpica/$$h \
2789f97a43bSNate Lawson		    ${DESTDIR}${INCLUDEDIR}/dev/acpica; \
2799f97a43bSNate Lawson	done
2800895e9c7SJohn Baldwin	cd ${.CURDIR}/../sys/dev/agp; \
2810895e9c7SJohn Baldwin	for h in agpreg.h; do \
282a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/dev/agp/$$h \
2830895e9c7SJohn Baldwin		    ${DESTDIR}${INCLUDEDIR}/dev/agp; \
2840895e9c7SJohn Baldwin	done
285829ba4deSRuslan Ermilov	cd ${.CURDIR}/../sys/dev/bktr; \
286829ba4deSRuslan Ermilov	for h in ioctl_*.h; do \
287a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/dev/bktr/$$h \
288829ba4deSRuslan Ermilov		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
289829ba4deSRuslan Ermilov	done
2907f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no"
2917f725bcdSGrzegorz Bernacki	cd ${.CURDIR}/../sys/dev/nand; \
2927f725bcdSGrzegorz Bernacki	for h in nandsim.h nand_dev.h; do \
293a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/dev/nand/$$h \
2947f725bcdSGrzegorz Bernacki		    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
2957f725bcdSGrzegorz Bernacki	done
2967f725bcdSGrzegorz Bernacki.endif
2970895e9c7SJohn Baldwin	cd ${.CURDIR}/../sys/dev/pci; \
2980895e9c7SJohn Baldwin	for h in pcireg.h; do \
299a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/dev/pci/$$h \
3000895e9c7SJohn Baldwin		    ${DESTDIR}${INCLUDEDIR}/dev/pci; \
3010895e9c7SJohn Baldwin	done
302a270eca5SBruce Evans.for i in ${LSUBSUBDIRS}
303a270eca5SBruce Evans	cd ${.CURDIR}/../sys/$i; \
304a270eca5SBruce Evans	for h in *.h; do \
305a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
306a270eca5SBruce Evans	done
307a270eca5SBruce Evans.endfor
308e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
309a97ec006SRuslan Ermilov	cd ${.CURDIR}/../sys/contrib/ipfilter/netinet; \
310a97ec006SRuslan Ermilov	for h in *.h; do \
311a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/contrib/ipfilter/netinet/$$h \
312a97ec006SRuslan Ermilov		    ${DESTDIR}${INCLUDEDIR}/netinet; \
313a97ec006SRuslan Ermilov	done
314f98a656cSScott Long.endif
31575bf2db3SGleb Smirnoff.if ${MK_PF} != "no"
31675bf2db3SGleb Smirnoff	cd ${.CURDIR}/../sys/netpfil/pf; \
31775bf2db3SGleb Smirnoff	for h in *.h; do \
318a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/netpfil/pf/$$h \
31975bf2db3SGleb Smirnoff		    ${DESTDIR}${INCLUDEDIR}/netpfil/pf; \
32075bf2db3SGleb Smirnoff	done
32175bf2db3SGleb Smirnoff.endif
322df3c03a7SHajimu UMEMOTO	cd ${.CURDIR}/../sys/crypto; \
323df3c03a7SHajimu UMEMOTO	for h in rijndael/rijndael.h; do \
324a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/crypto/$$h \
325df3c03a7SHajimu UMEMOTO		    ${DESTDIR}${INCLUDEDIR}/crypto; \
326df3c03a7SHajimu UMEMOTO	done
327a270eca5SBruce Evans	cd ${.CURDIR}/../sys/opencrypto; \
328a270eca5SBruce Evans	for h in *.h; do \
329a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/opencrypto/$$h \
330a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/crypto; \
331a270eca5SBruce Evans	done
3328f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include; \
333a270eca5SBruce Evans	for h in *.h; do \
334a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/${MACHINE}/include/$$h \
335a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/machine; \
336a270eca5SBruce Evans	done
3378f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc)
3388f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \
339a270eca5SBruce Evans	for h in *.h; do \
340a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/${MACHINE}/include/pc/$$h \
341a270eca5SBruce Evans		    ${DESTDIR}${INCLUDEDIR}/machine/pc; \
342a270eca5SBruce Evans	done
343a270eca5SBruce Evans.endif
344544de89dSJohn Baldwin.for _MARCH in ${_MARCHS}
345544de89dSJohn Baldwin.if exists(${.CURDIR}/../sys/${_MARCH}/include)
346dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
347dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
3488f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include; \
3498f3e5dd0SWarner Losh	for h in *.h; do \
350a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/${_MARCH}/include/$$h \
3518f3e5dd0SWarner Losh		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
3528f3e5dd0SWarner Losh	done
3538f3e5dd0SWarner Losh.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc)
354dfd569edSWarner Losh	${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \
355dfd569edSWarner Losh	    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
3568f3e5dd0SWarner Losh	cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \
3578f3e5dd0SWarner Losh	for h in *.h; do \
358a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/${_MARCH}/include/pc/$$h \
3598f3e5dd0SWarner Losh		    ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
3608f3e5dd0SWarner Losh	done
3618f3e5dd0SWarner Losh.endif
3628f3e5dd0SWarner Losh.endif
363544de89dSJohn Baldwin.endfor
364d139ce67SCraig Rodrigues	cd ${.CURDIR}/../sys/fs/cd9660; \
365d139ce67SCraig Rodrigues	for h in *.h; do \
366a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../../sys/fs/cd9660/$$h \
367d139ce67SCraig Rodrigues		    ${DESTDIR}${INCLUDEDIR}/isofs/cd9660; \
368d139ce67SCraig Rodrigues	done
3690fdce727SPawel Jakub Dawidek	cd ${.CURDIR}/../sys/rpc; \
3700fdce727SPawel Jakub Dawidek	for h in types.h; do \
371a9f9ec24SBryan Drewery		${INSTALL_SYMLINK} ../../../sys/rpc/$$h \
3720fdce727SPawel Jakub Dawidek		    ${DESTDIR}${INCLUDEDIR}/rpc; \
3730fdce727SPawel Jakub Dawidek	done
374948f327eSSimon J. Gerraty.if ${MK_DIRDEPS_BUILD} == "yes"
375c364bbdfSBryan Drewery	@touch ${.OBJDIR}/${.TARGET}
37643425d65SSimon J. Gerraty.endif
3771a682d2cSSimon J. Gerraty
378dbf5bd50SBryan Drewery.if ${MACHINE} == "host" && !defined(_SKIP_BUILD)
3791a682d2cSSimon J. Gerraty# we're here because we are building a sysroot...
3801a682d2cSSimon J. Gerraty# we need MACHINE et al set correctly
3811a682d2cSSimon J. GerratyHOST_MACHINE!= uname -m
3821a682d2cSSimon J. GerratyHOST_MACHINE_ARCH!= uname -p
3831a682d2cSSimon J. GerratyMACHINE:= ${HOST_MACHINE}
3841a682d2cSSimon J. GerratyMACHINE_ARCH:= ${HOST_MACHINE_ARCH}
3851a682d2cSSimon J. Gerraty.endif
386