xref: /freebsd/include/Makefile (revision e505460228ceabb9de434b8416ee2b7faaa66d1a)
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
8bf24694cSGlen BarberPACKAGE=runtime
9bf24694cSGlen BarberTAGS+=	development
108e8319a6SBryan DreweryCLEANFILES= osreldate.h version
11dd987372STijl CoosemansSUBDIR= arpa protocols rpcsvc rpc xlocale
12aa92269eSBryan DrewerySUBDIR_PARALLEL=
138bdfc6bfSTim J. RobbinsINCS=	a.out.h ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
1416133e15STim J. Robbins	db.h \
15c544e42bSMarcel Moolenaar	dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
16dd987372STijl Coosemans	fts.h ftw.h getopt.h glob.h grp.h \
171e3f1446SDavid E. O'Brien	ieeefp.h ifaddrs.h \
18c544e42bSMarcel Moolenaar	inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
196b2c15daSJason Evans	locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \
201332b4bdSRuslan Ermilov	ndbm.h netconfig.h \
21401a7f6fSPeter Wemm	netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \
2275067f4fSPoul-Henning Kamp	printf.h proc_service.h pthread.h \
23763ed733SEd Schouten	pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \
249b0f1823SDavid Xu	res_update.h resolv.h runetype.h search.h semaphore.h setjmp.h \
2506bee445SEd Schouten	signal.h spawn.h stab.h stdalign.h stdbool.h stddef.h \
26367bebd4SEd Schouten	stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \
27f14ad5faSEd Schouten	strings.h sysexits.h tar.h termios.h tgmath.h \
28b902e8b2SStefan Farfeleder	time.h timeconv.h timers.h ttyent.h \
2950c77c6eSEd Schouten	uchar.h ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h \
30a8ed63bbSDavid Chisnall	wchar.h wctype.h wordexp.h xlocale.h
3159deaec5SRodney W. Grimes
3228d60d6aSWarner Losh.PATH: ${SRCTOP}/contrib/libc-vis
338ccca122SBrooks DavisINCS+=	vis.h
348ccca122SBrooks Davis
35fefa0fd5SAlexander KabaevMHDRS=	float.h floatingpoint.h stdarg.h
36917e476dSPeter Dufault
379b0f1823SDavid XuPHDRS=	sched.h _semaphore.h
38917e476dSPeter Dufault
3906bee445SEd SchoutenLHDRS=	aio.h errno.h fcntl.h linker_set.h poll.h stdatomic.h stdint.h \
4006bee445SEd Schouten	syslog.h ucontext.h
4159deaec5SRodney W. Grimes
4245c203fcSGleb SmirnoffLDIRS=	bsm cam geom net net80211 netgraph netinet netinet6 \
43a7dc3128SBrooks Davis	netipsec netsmb nfs nfsclient nfsserver sys vm
4415f3c66cSMarcel Moolenaar
45a94a63f0SWarner LoshLSUBDIRS=	cam/ata cam/mmc cam/nvme cam/scsi \
460895e9c7SJohn Baldwin	dev/acpica dev/agp dev/an dev/bktr dev/ciss dev/filemon dev/firewire \
47168fce73SSepherosa Ziehau	dev/hwpmc dev/hyperv \
48e6a376d1SEd Maste	dev/ic dev/iicbus dev/io dev/mfi dev/mmc dev/nvme \
490895e9c7SJohn Baldwin	dev/ofw dev/pbio dev/pci ${_dev_powermac_nvram} dev/ppbus dev/smbus \
502529f56eSJonathan T. Looney	dev/speaker dev/tcp_log dev/vkbd dev/wi \
51a42ac676SAttilio Rao	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/nullfs \
52237abf0cSDavide Italiano	fs/procfs fs/smbfs fs/udf fs/unionfs \
53f348204cSPawel Jakub Dawidek	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
54b3f9d8c8SEdward Tomasz Napierala	geom/mirror geom/mountver geom/multipath geom/nop \
5589b17223SAlexander Motin	geom/raid geom/raid3 geom/shsec geom/stripe geom/virstor \
56772e66a6SGleb Smirnoff	net/altq \
57fdbe44b0SGleb Smirnoff	netgraph/atm netgraph/netflow \
58d519cedbSGleb Smirnoff	netinet/cc \
59*e5054602SMark Johnston	netinet/netdump \
60013f1b34SRobert Watson	security/audit \
61fdbe44b0SGleb Smirnoff	security/mac_biba security/mac_bsdextended security/mac_lomac \
62fdbe44b0SGleb Smirnoff	security/mac_mls security/mac_partition \
6350875ed2SMarcel Moolenaar	sys/disk \
6451be47e4SMark Murray	ufs/ffs ufs/ufs
6515f3c66cSMarcel Moolenaar
6611c63edeSAndrew ThompsonLSUBSUBDIRS=	dev/mpt/mpilib
67c16e2101SJohn Baldwin
687e4a2c28SEnji Cooper.if ${MK_BLUETOOTH} != "no"
697e4a2c28SEnji CooperLSUBSUBDIRS+=	netgraph/bluetooth/include
707e4a2c28SEnji Cooper.endif
717e4a2c28SEnji Cooper
728b77741eSEnji Cooper.if ${MK_CUSE} != "no"
738b77741eSEnji CooperLSUBDIRS+=	fs/cuse
748b77741eSEnji Cooper.endif
758b77741eSEnji Cooper
76dd987372STijl Coosemans.if ${MK_GSSAPI} != "no"
77dd987372STijl CoosemansSUBDIR+=	gssapi
78dd987372STijl CoosemansINCS+=		gssapi.h
79dd987372STijl Coosemans.endif
80dd987372STijl Coosemans
81e1fe3dbaSRuslan Ermilov.if ${MK_HESIOD} != "no"
823d86554cSPoul-Henning KampINCS+=	hesiod.h
833d86554cSPoul-Henning Kamp.endif
843d86554cSPoul-Henning Kamp
850ff204bbSPeter Wemm# Handle the #define aliases for libiconv
860ff204bbSPeter Wemm.if ${MK_ICONV} == "yes"
87912ce912SPeter WemmINCS+=		iconv.h
880ff204bbSPeter Wemm.endif
890ff204bbSPeter Wemm
907e4a2c28SEnji Cooper.if ${MK_USB} != "no"
917e4a2c28SEnji CooperLSUBDIRS+=	dev/usb
927e4a2c28SEnji Cooper.endif
937e4a2c28SEnji Cooper
947e4a2c28SEnji Cooper.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64"
957e4a2c28SEnji Cooper_dev_powermac_nvram=	dev/powermac_nvram
967e4a2c28SEnji Cooper.endif
970ff204bbSPeter Wemm
9815f3c66cSMarcel Moolenaar# Define SHARED to indicate whether you want symbolic links to the system
9915f3c66cSMarcel Moolenaar# source (``symlinks''), or a separate copy (``copies'').  ``symlinks'' is
10015f3c66cSMarcel Moolenaar# probably only useful for developers and should be avoided if you do not
10115f3c66cSMarcel Moolenaar# wish to tie your /usr/include and /usr/src together.
10215f3c66cSMarcel Moolenaar#SHARED=	symlinks
10315f3c66cSMarcel MoolenaarSHARED?=	copies
10459deaec5SRodney W. Grimes
105c7b111cbSRuslan ErmilovINCS+=	osreldate.h
1063672faeaSPeter Wemm
10728d60d6aSWarner LoshSYSDIR=			${SRCTOP}/sys
1080210509aSIan LeporeNEWVERS_SH=		${SYSDIR}/conf/newvers.sh
1090210509aSIan LeporePARAM_H=		${SYSDIR}/sys/param.h
110bfe5c479SIan LeporeMK_OSRELDATE_SH=	${.CURDIR}/mk-osreldate.sh
111bfe5c479SIan Lepore
11234ecf418SBryan DrewerySYMLINKS+= ${LIBDIR:C,[^/]+,..,g:C,^/,,}${INCLUDEDIR} ${LIBDIR}/include
113d32e83c2SBryan Drewery
1148e8319a6SBryan Dreweryosreldate.h: ${NEWVERS_SH} ${PARAM_H} ${MK_OSRELDATE_SH}
1158e8319a6SBryan Drewery	env NEWVERS_SH=${NEWVERS_SH} PARAMFILE=${PARAM_H} SYSDIR=${SYSDIR} \
116dd5f1297SIan Lepore	    sh ${MK_OSRELDATE_SH}
1173672faeaSPeter Wemm
118a7aaf57eSRuslan Ermilov.for i in ${LHDRS}
119c7b111cbSRuslan ErmilovINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
12002cca882SMarcel Moolenaar.endfor
121a7aaf57eSRuslan Ermilov.for i in ${MHDRS}
122c7b111cbSRuslan ErmilovINCSLINKS+=	machine/$i ${INCLUDEDIR}/$i
12302cca882SMarcel Moolenaar.endfor
124a7aaf57eSRuslan Ermilov.for i in ${PHDRS}
1256aeb05d7STom RhodesINCSLINKS+=	sys/$i ${INCLUDEDIR}/$i
12602cca882SMarcel Moolenaar.endfor
12715f3c66cSMarcel Moolenaar
12825faff34SWarner Losh.if ${MACHINE} != ${MACHINE_CPUARCH}
129544de89dSJohn Baldwin_MARCHS=	${MACHINE_CPUARCH}
130544de89dSJohn Baldwin.endif
131544de89dSJohn Baldwin.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
132544de89dSJohn Baldwin_MARCHS+=	x86
1338f3e5dd0SWarner Losh.endif
1348f3e5dd0SWarner Losh
1359ea89f32SBryan DreweryMETA_TARGETS+=	compat
136f883c0adSBryan Drewerystage_includes: ${SHARED}
137c99b67a7SBryan DrewerySDESTDIR=	${SYSROOT:U${DESTDIR}}
1387750ad47SMarcel Moolenaar
139a270eca5SBruce Evans# Take care of stale directory-level symlinks.
14094086ceaSBryan Drewerycompat:
141544de89dSJohn Baldwin.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto
142c99b67a7SBryan Drewery	if [ -L ${SDESTDIR}${INCLUDEDIR}/$i ]; then \
143c99b67a7SBryan Drewery		rm -f ${SDESTDIR}${INCLUDEDIR}/$i; \
14415f3c66cSMarcel Moolenaar	fi
14515f3c66cSMarcel Moolenaar.endfor
146a270eca5SBruce Evans	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \
14728d60d6aSWarner Losh	    -f ${SRCTOP}/etc/mtree/BSD.include.dist \
148c99b67a7SBryan Drewery	    -p ${SDESTDIR}${INCLUDEDIR} > /dev/null
149a270eca5SBruce Evans
1509ea89f32SBryan Drewerycopies: .PHONY .META
151772e66a6SGleb Smirnoff.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \
152544de89dSJohn Baldwin	${_MARCHS}
153c99b67a7SBryan Drewery	if [ -d ${SDESTDIR}${INCLUDEDIR}/$i ]; then \
154c99b67a7SBryan Drewery		cd ${SDESTDIR}${INCLUDEDIR}/$i; \
155a270eca5SBruce Evans		for h in *.h; do \
156a270eca5SBruce Evans			if [ -L $$h ]; then rm -f $$h; fi; \
157df884b5cSBryan Drewery		done; \
158df884b5cSBryan Drewery	fi
159a270eca5SBruce Evans.endfor
160168fce73SSepherosa Ziehau.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/nand:Ndev/pci} ${LSUBSUBDIRS}
16128d60d6aSWarner Losh	cd ${SRCTOP}/sys; \
162bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
163c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/$i
16415f3c66cSMarcel Moolenaar.endfor
16528d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/acpica; \
166bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \
167c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/acpica; \
168bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 acpi_hpet.h \
169c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/acpica
17028d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/agp; \
171bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 agpreg.h \
172c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/agp
17328d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/bktr; \
174bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
175c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/bktr
1767f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no"
17728d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/nand; \
178bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \
179c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/nand; \
180bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 nand_dev.h \
181c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/nand
1827f725bcdSGrzegorz Bernacki.endif
18328d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/evdev; \
1842b3f6d66SOleksandr Tymoshenko	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 input.h \
185c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/evdev; \
1862b3f6d66SOleksandr Tymoshenko	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 input-event-codes.h \
187c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/evdev; \
1882b3f6d66SOleksandr Tymoshenko	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 uinput.h \
189c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/evdev
19028d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/hyperv/include; \
1919622c93aSSepherosa Ziehau	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 hyperv.h \
192c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/hyperv
19328d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/hyperv/utilities; \
194168fce73SSepherosa Ziehau	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 hv_snapshot.h \
195c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/hyperv
19628d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/pci; \
197bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 pcireg.h \
198c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/dev/pci
19928d60d6aSWarner Losh	cd ${SRCTOP}/sys/fs/cd9660/; \
200bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
201c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/isofs/cd9660
202e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
20328d60d6aSWarner Losh	cd ${SRCTOP}/sys/contrib/ipfilter/netinet; \
204bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
205c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/netinet
206f98a656cSScott Long.endif
207b6883113SSean Bruno.if ${MK_PF} != "no"
20828d60d6aSWarner Losh	cd ${SRCTOP}/sys/netpfil/pf; \
209bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
210c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/netpfil/pf
211b6883113SSean Bruno.endif
21228d60d6aSWarner Losh	cd ${SRCTOP}/sys/crypto; \
213bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 rijndael/rijndael.h \
214c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/crypto
21528d60d6aSWarner Losh	cd ${SRCTOP}/sys/opencrypto; \
216bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
217c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/crypto
21828d60d6aSWarner Losh	cd ${SRCTOP}/sys/${MACHINE}/include; \
219bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
220c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/machine
22128d60d6aSWarner Losh.if exists(${SRCTOP}/sys/${MACHINE}/include/pc)
22228d60d6aSWarner Losh	cd ${SRCTOP}/sys/${MACHINE}/include/pc; \
223bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
224c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/machine/pc
2259f1207d5SRuslan Ermilov.endif
226544de89dSJohn Baldwin.for _MARCH in ${_MARCHS}
22728d60d6aSWarner Losh.if exists(${SRCTOP}/sys/${_MARCH}/include)
228bf24694cSGlen Barber	${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \
229c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}; \
23028d60d6aSWarner Losh	cd ${SRCTOP}/sys/${_MARCH}/include; \
231bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
232c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}
23328d60d6aSWarner Losh.if exists(${SRCTOP}/sys/${_MARCH}/include/pc)
234bf24694cSGlen Barber	${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \
235c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
23628d60d6aSWarner Losh	cd ${SRCTOP}/sys/${_MARCH}/include/pc; \
237bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
238c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc
2398f3e5dd0SWarner Losh.endif
2408f3e5dd0SWarner Losh.endif
241544de89dSJohn Baldwin.endfor
24228d60d6aSWarner Losh	cd ${SRCTOP}/sys/rpc; \
243bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 types.h \
244c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/rpc
24528d60d6aSWarner Losh	cd ${SRCTOP}/sys/teken; \
246bf24694cSGlen Barber	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 teken.h \
247c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/teken
248dca5dd68SAndriy Gapon.if ${MK_CDDL} != "no"
24928d60d6aSWarner Losh	cd ${SRCTOP}/cddl/contrib/opensolaris/lib/libzfs_core/common; \
250dca5dd68SAndriy Gapon	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 libzfs_core.h \
251c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}
25228d60d6aSWarner Losh	cd ${SRCTOP}/cddl/contrib/opensolaris/lib/libnvpair; \
253dca5dd68SAndriy Gapon	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 libnvpair.h \
254c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}
25528d60d6aSWarner Losh	cd ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys; \
256dca5dd68SAndriy Gapon	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 nvpair.h \
257c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/sys
258dca5dd68SAndriy Gapon.endif
259e808190aSHans Petter Selasky.if ${MK_MLX5TOOL} != "no"
260e808190aSHans Petter Selasky	cd ${SRCTOP}/sys/dev/mlx5; \
261e808190aSHans Petter Selasky	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 mlx5io.h \
262e808190aSHans Petter Selasky	    ${SDESTDIR}${INCLUDEDIR}/dev/mlx5
263e808190aSHans Petter Selasky.endif
26459deaec5SRodney W. Grimes
2659ea89f32SBryan Drewerysymlinks: .PHONY .META
26615f3c66cSMarcel Moolenaar	@${ECHO} "Setting up symlinks to kernel source tree..."
267400dc950SPeter Wemm.for i in ${LDIRS}
26828d60d6aSWarner Losh	cd ${SRCTOP}/sys/$i; \
269a270eca5SBruce Evans	for h in *.h; do \
270c99b67a7SBryan Drewery		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/$i/$$h ${SDESTDIR}${INCLUDEDIR}/$i; \
271a270eca5SBruce Evans	done
27215f3c66cSMarcel Moolenaar.endfor
273168fce73SSepherosa Ziehau.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/nand:Ndev/pci}
27428d60d6aSWarner Losh	cd ${SRCTOP}/sys/$i; \
275a270eca5SBruce Evans	for h in *.h; do \
276c99b67a7SBryan Drewery		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/$i/$$h ${SDESTDIR}${INCLUDEDIR}/$i; \
277a270eca5SBruce Evans	done
278400dc950SPeter Wemm.endfor
27928d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/acpica; \
2803149cc9dSRui Paulo	for h in acpiio.h acpi_hpet.h; do \
281bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/acpica/$$h \
282c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/acpica; \
2839f97a43bSNate Lawson	done
28428d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/agp; \
2850895e9c7SJohn Baldwin	for h in agpreg.h; do \
286bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/agp/$$h \
287c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/agp; \
2880895e9c7SJohn Baldwin	done
28928d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/bktr; \
290829ba4deSRuslan Ermilov	for h in ioctl_*.h; do \
291bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/bktr/$$h \
292c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/bktr; \
293829ba4deSRuslan Ermilov	done
2947f725bcdSGrzegorz Bernacki.if ${MK_NAND} != "no"
29528d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/nand; \
2967f725bcdSGrzegorz Bernacki	for h in nandsim.h nand_dev.h; do \
297bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/nand/$$h \
298c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/nand; \
2997f725bcdSGrzegorz Bernacki	done
3007f725bcdSGrzegorz Bernacki.endif
30128d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/evdev; \
3022b3f6d66SOleksandr Tymoshenko	for h in input.h input-event-codes.h uinput.h; do \
3032b3f6d66SOleksandr Tymoshenko		ln -fs ../../../../sys/dev/evdev/$$h \
304c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/evdev; \
3052b3f6d66SOleksandr Tymoshenko	done
30628d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/hyperv/include; \
3079622c93aSSepherosa Ziehau	for h in hyperv.h; do \
3089622c93aSSepherosa Ziehau		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/hyperv/include/$$h \
309c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/hyperv; \
3109622c93aSSepherosa Ziehau	done
31128d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/hyperv/utilities; \
312168fce73SSepherosa Ziehau	for h in hv_snapshot.h; do \
313168fce73SSepherosa Ziehau		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/hyperv/utilities/$$h \
314c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/hyperv; \
315168fce73SSepherosa Ziehau	done
31628d60d6aSWarner Losh	cd ${SRCTOP}/sys/dev/pci; \
3170895e9c7SJohn Baldwin	for h in pcireg.h; do \
318bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/pci/$$h \
319c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/dev/pci; \
3200895e9c7SJohn Baldwin	done
321a270eca5SBruce Evans.for i in ${LSUBSUBDIRS}
32228d60d6aSWarner Losh	cd ${SRCTOP}/sys/$i; \
323a270eca5SBruce Evans	for h in *.h; do \
324c99b67a7SBryan Drewery		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../../sys/$i/$$h ${SDESTDIR}${INCLUDEDIR}/$i; \
325a270eca5SBruce Evans	done
326a270eca5SBruce Evans.endfor
327e1fe3dbaSRuslan Ermilov.if ${MK_IPFILTER} != "no"
32828d60d6aSWarner Losh	cd ${SRCTOP}/sys/contrib/ipfilter/netinet; \
329a97ec006SRuslan Ermilov	for h in *.h; do \
330bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/contrib/ipfilter/netinet/$$h \
331c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/netinet; \
332a97ec006SRuslan Ermilov	done
333f98a656cSScott Long.endif
33475bf2db3SGleb Smirnoff.if ${MK_PF} != "no"
33528d60d6aSWarner Losh	cd ${SRCTOP}/sys/netpfil/pf; \
33675bf2db3SGleb Smirnoff	for h in *.h; do \
337bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/netpfil/pf/$$h \
338c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/netpfil/pf; \
33975bf2db3SGleb Smirnoff	done
34075bf2db3SGleb Smirnoff.endif
34128d60d6aSWarner Losh	cd ${SRCTOP}/sys/crypto; \
342df3c03a7SHajimu UMEMOTO	for h in rijndael/rijndael.h; do \
343bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/crypto/$$h \
344c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/crypto; \
345df3c03a7SHajimu UMEMOTO	done
34628d60d6aSWarner Losh	cd ${SRCTOP}/sys/opencrypto; \
347a270eca5SBruce Evans	for h in *.h; do \
348bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/opencrypto/$$h \
349c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/crypto; \
350a270eca5SBruce Evans	done
35128d60d6aSWarner Losh	cd ${SRCTOP}/sys/${MACHINE}/include; \
352a270eca5SBruce Evans	for h in *.h; do \
353bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/${MACHINE}/include/$$h \
354c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/machine; \
355a270eca5SBruce Evans	done
35628d60d6aSWarner Losh.if exists(${SRCTOP}/sys/${MACHINE}/include/pc)
35728d60d6aSWarner Losh	cd ${SRCTOP}/sys/${MACHINE}/include/pc; \
358a270eca5SBruce Evans	for h in *.h; do \
359bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/${MACHINE}/include/pc/$$h \
360c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/machine/pc; \
361a270eca5SBruce Evans	done
362a270eca5SBruce Evans.endif
363544de89dSJohn Baldwin.for _MARCH in ${_MARCHS}
36428d60d6aSWarner Losh.if exists(${SRCTOP}/sys/${_MARCH}/include)
365bf24694cSGlen Barber	${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \
366c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}; \
36728d60d6aSWarner Losh	cd ${SRCTOP}/sys/${_MARCH}/include; \
3688f3e5dd0SWarner Losh	for h in *.h; do \
369bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/${_MARCH}/include/$$h \
370c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}; \
3718f3e5dd0SWarner Losh	done
37228d60d6aSWarner Losh.if exists(${SRCTOP}/sys/${_MARCH}/include/pc)
373bf24694cSGlen Barber	${INSTALL} -d ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 755 \
374c99b67a7SBryan Drewery	    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
37528d60d6aSWarner Losh	cd ${SRCTOP}/sys/${_MARCH}/include/pc; \
3768f3e5dd0SWarner Losh	for h in *.h; do \
377bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/${_MARCH}/include/pc/$$h \
378c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
3798f3e5dd0SWarner Losh	done
3808f3e5dd0SWarner Losh.endif
3818f3e5dd0SWarner Losh.endif
382544de89dSJohn Baldwin.endfor
38328d60d6aSWarner Losh	cd ${SRCTOP}/sys/fs/cd9660; \
384d139ce67SCraig Rodrigues	for h in *.h; do \
385bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/fs/cd9660/$$h \
386c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/isofs/cd9660; \
387d139ce67SCraig Rodrigues	done
38828d60d6aSWarner Losh	cd ${SRCTOP}/sys/rpc; \
3890fdce727SPawel Jakub Dawidek	for h in types.h; do \
390bf24694cSGlen Barber		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/rpc/$$h \
391c99b67a7SBryan Drewery		    ${SDESTDIR}${INCLUDEDIR}/rpc; \
3920fdce727SPawel Jakub Dawidek	done
393e808190aSHans Petter Selasky.if ${MK_MLX5TOOL} != "no"
394e808190aSHans Petter Selasky	${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/mlx5/mlx5io.h \
395e808190aSHans Petter Selasky	    ${SDESTDIR}${INCLUDEDIR}/dev/mlx5
396e808190aSHans Petter Selasky.endif
3971a682d2cSSimon J. Gerraty
39894086ceaSBryan Drewery.include <bsd.prog.mk>
39994086ceaSBryan Drewery
40094086ceaSBryan Dreweryinstallincludes: ${SHARED}
40194086ceaSBryan Drewery${SHARED}: compat
40294086ceaSBryan Drewery
403dbf5bd50SBryan Drewery.if ${MACHINE} == "host" && !defined(_SKIP_BUILD)
4041a682d2cSSimon J. Gerraty# we're here because we are building a sysroot...
4051a682d2cSSimon J. Gerraty# we need MACHINE et al set correctly
4061a682d2cSSimon J. GerratyHOST_MACHINE!= uname -m
4071a682d2cSSimon J. GerratyHOST_MACHINE_ARCH!= uname -p
4081a682d2cSSimon J. GerratyMACHINE:= ${HOST_MACHINE}
4091a682d2cSSimon J. GerratyMACHINE_ARCH:= ${HOST_MACHINE_ARCH}
4101a682d2cSSimon J. Gerraty.endif
411