1 # @(#)Makefile 8.2 (Berkeley) 1/4/94
4 # Doing a "make install" builds /usr/include.
10 CLEANFILES
= osreldate.h version
11 SUBDIR
= arpa protocols rpcsvc rpc xlocale
13 INCS
= a.out.h
ar.h assert.h bitstring.h complex.h cpio.h _ctype.h ctype.h \
15 dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
16 fts.h ftw.h getopt.h glob.h grp.h \
18 inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
19 locale.h malloc.h malloc_np.h memory.h monetary.h mpool.h mqueue.h \
21 netdb.h nl_types.h nlist.h nss.h nsswitch.h paths.h \
22 printf.h proc_service.h pthread.h \
23 pthread_np.h pwd.h ranlib.h readpassphrase.h regex.h \
24 res_update.h resolv.h runetype.h search.h semaphore.h setjmp.h \
25 signal.h spawn.h stab.h stdalign.h stdbool.h stddef.h \
26 stdnoreturn.h stdio.h stdlib.h string.h stringlist.h \
27 strings.h sysexits.h
tar.h termios.h tgmath.h \
28 time.h timeconv.h timers.h ttyent.h \
29 uchar.h ulimit.h unistd.h utime.h utmpx.h uuid.h varargs.h \
30 wchar.h wctype.h wordexp.h xlocale.h
32 .PATH
: ${.CURDIR
}/..
/contrib
/libc-vis
35 MHDRS
= float.h floatingpoint.h stdarg.h
37 PHDRS
= sched.h _semaphore.h
39 LHDRS
= aio.h errno.h fcntl.h linker_set.h poll.h stdatomic.h stdint.h \
42 LDIRS
= bsm cam geom net net80211 netgraph netinet netinet6 \
43 netipsec netnatm netsmb nfs nfsclient nfsserver sys vm
45 LSUBDIRS
= cam
/ata cam
/nvme cam
/scsi \
46 dev
/acpica dev
/agp dev
/an dev
/bktr dev
/ciss dev
/filemon dev
/firewire \
48 dev
/ic dev
/iicbus dev
/io dev
/lmc dev
/mfi dev
/nvme \
49 dev
/ofw dev
/pbio dev
/pci
${_dev_powermac_nvram} dev
/ppbus dev
/smbus \
50 dev
/speaker dev
/utopia dev
/vkbd dev
/wi \
51 fs
/devfs fs
/fdescfs fs
/msdosfs fs
/nandfs fs
/nfs fs
/nullfs \
52 fs
/procfs fs
/smbfs fs
/udf fs
/unionfs \
53 geom
/cache geom
/concat geom
/eli geom
/gate geom
/journal geom
/label \
54 geom
/mirror geom
/mountver geom
/multipath geom
/nop \
55 geom
/raid geom
/raid3 geom
/shsec geom
/stripe geom
/virstor \
57 netgraph
/atm netgraph
/netflow \
60 security
/mac_biba security
/mac_bsdextended security
/mac_lomac \
61 security
/mac_mls security
/mac_partition \
64 LSUBSUBDIRS
= dev
/mpt
/mpilib
66 .if
${MK_BLUETOOTH} != "no"
67 LSUBSUBDIRS
+= netgraph
/bluetooth
/include
70 .if
${MK_CUSE} != "no"
74 .if
${MK_GSSAPI} != "no"
79 .if
${MK_HESIOD} != "no"
83 # Handle the #define aliases for libiconv
84 .if
${MK_ICONV} == "yes"
92 .if
${MACHINE_ARCH} == "powerpc" ||
${MACHINE_ARCH} == "powerpc64"
93 _dev_powermac_nvram
= dev
/powermac_nvram
96 # Define SHARED to indicate whether you want symbolic links to the system
97 # source (``symlinks''), or a separate copy (``copies''). ``symlinks'' is
98 # probably only useful for developers and should be avoided if you do not
99 # wish to tie your /usr/include and /usr/src together.
105 SYSDIR
= ${.CURDIR
}/..
/sys
106 NEWVERS_SH
= ${SYSDIR}/conf
/newvers.sh
107 PARAM_H
= ${SYSDIR}/sys
/param.h
108 MK_OSRELDATE_SH
= ${.CURDIR
}/mk-osreldate.sh
110 SYMLINKS
+= ${INCLUDEDIR} ${LIBDIR}/include
112 osreldate.h
: ${NEWVERS_SH} ${PARAM_H} ${MK_OSRELDATE_SH}
113 env NEWVERS_SH
=${NEWVERS_SH} PARAMFILE
=${PARAM_H} SYSDIR
=${SYSDIR} \
114 sh
${MK_OSRELDATE_SH}
117 INCSLINKS
+= sys
/$i ${INCLUDEDIR}/$i
120 INCSLINKS
+= machine
/$i ${INCLUDEDIR}/$i
123 INCSLINKS
+= sys
/$i ${INCLUDEDIR}/$i
126 .if
${MACHINE} != ${MACHINE_CPUARCH}
127 _MARCHS
= ${MACHINE_CPUARCH}
129 .if
${MACHINE_CPUARCH} == "i386" ||
${MACHINE_CPUARCH} == "amd64"
133 META_TARGETS
+= compat
134 stage_includes
: ${SHARED}
136 # Take care of stale directory-level symlinks.
138 .for i in
${LDIRS} ${LSUBDIRS} machine
${_MARCHS} crypto
139 if
[ -L
${DESTDIR}${INCLUDEDIR}/$i ]; then \
140 rm -f
${DESTDIR}${INCLUDEDIR}/$i; \
143 mtree
-deU
${MTREE_FOLLOWS_SYMLINKS} \
144 -f
${.CURDIR
}/..
/etc
/mtree
/BSD.
include.
dist \
145 -p
${DESTDIR}${INCLUDEDIR} > /dev
/null
148 .for i in
${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine
/pc \
150 if
[ -d
${DESTDIR}${INCLUDEDIR}/$i ]; then \
151 cd
${DESTDIR}${INCLUDEDIR}/$i; \
153 if
[ -L
$$h ]; then
rm -f
$$h; fi
; \
157 .for i in
${LDIRS} ${LSUBDIRS
:Ndev
/agp
:Ndev
/acpica
:Ndev
/bktr
:Ndev
/nand
:Ndev
/pci
} ${LSUBSUBDIRS}
158 cd
${.CURDIR
}/..
/sys
; \
159 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 $i/*.h \
160 ${DESTDIR}${INCLUDEDIR}/$i
162 cd
${.CURDIR
}/..
/sys
/dev
/acpica
; \
163 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 acpiio.h \
164 ${DESTDIR}${INCLUDEDIR}/dev
/acpica
; \
165 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 acpi_hpet.h \
166 ${DESTDIR}${INCLUDEDIR}/dev
/acpica
167 cd
${.CURDIR
}/..
/sys
/dev
/agp
; \
168 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 agpreg.h \
169 ${DESTDIR}${INCLUDEDIR}/dev
/agp
170 cd
${.CURDIR
}/..
/sys
/dev
/bktr
; \
171 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 ioctl_
*.h \
172 ${DESTDIR}${INCLUDEDIR}/dev
/bktr
173 .if
${MK_NAND} != "no"
174 cd
${.CURDIR
}/..
/sys
/dev
/nand
; \
175 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 nandsim.h \
176 ${DESTDIR}${INCLUDEDIR}/dev
/nand
; \
177 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 nand_dev.h \
178 ${DESTDIR}${INCLUDEDIR}/dev
/nand
180 cd
${.CURDIR
}/..
/sys
/dev
/pci
; \
181 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 pcireg.h \
182 ${DESTDIR}${INCLUDEDIR}/dev
/pci
183 cd
${.CURDIR
}/..
/sys
/fs
/cd9660
/; \
184 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
185 ${DESTDIR}${INCLUDEDIR}/isofs
/cd9660
186 .if
${MK_IPFILTER} != "no"
187 cd
${.CURDIR
}/..
/sys
/contrib
/ipfilter
/netinet
; \
188 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
189 ${DESTDIR}${INCLUDEDIR}/netinet
192 cd
${.CURDIR
}/..
/sys
/netpfil
/pf
; \
193 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
194 ${DESTDIR}${INCLUDEDIR}/netpfil
/pf
196 cd
${.CURDIR
}/..
/sys
/crypto
; \
197 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 rijndael
/rijndael.h \
198 ${DESTDIR}${INCLUDEDIR}/crypto
199 cd
${.CURDIR
}/..
/sys
/opencrypto
; \
200 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
201 ${DESTDIR}${INCLUDEDIR}/crypto
202 cd
${.CURDIR
}/..
/sys
/${MACHINE}/include; \
203 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
204 ${DESTDIR}${INCLUDEDIR}/machine
205 .if exists
(${.CURDIR
}/..
/sys
/${MACHINE}/include/pc)
206 cd
${.CURDIR
}/..
/sys
/${MACHINE}/include/pc; \
207 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
208 ${DESTDIR}${INCLUDEDIR}/machine
/pc
210 .for _MARCH in
${_MARCHS}
211 .if exists
(${.CURDIR
}/..
/sys
/${_MARCH}/include)
212 ${INSTALL} -d
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
755 \
213 ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
214 cd
${.CURDIR
}/..
/sys
/${_MARCH}/include; \
215 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
216 ${DESTDIR}${INCLUDEDIR}/${_MARCH}
217 .if exists
(${.CURDIR
}/..
/sys
/${_MARCH}/include/pc)
218 ${INSTALL} -d
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
755 \
219 ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
220 cd
${.CURDIR
}/..
/sys
/${_MARCH}/include/pc; \
221 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 *.h \
222 ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc
226 cd
${.CURDIR
}/..
/sys
/rpc
; \
227 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 types.h \
228 ${DESTDIR}${INCLUDEDIR}/rpc
229 cd
${.CURDIR
}/..
/sys
/teken
; \
230 ${INSTALL} -C
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
444 teken.h \
231 ${DESTDIR}${INCLUDEDIR}/teken
233 symlinks
: .PHONY .META
234 @
${ECHO} "Setting up symlinks to kernel source tree..."
236 cd
${.CURDIR
}/..
/sys
/$i; \
238 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
241 .for i in
${LSUBDIRS
:Ndev
/agp
:Ndev
/acpica
:Ndev
/bktr
:Ndev
/nand
:Ndev
/pci
}
242 cd
${.CURDIR
}/..
/sys
/$i; \
244 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
247 cd
${.CURDIR
}/..
/sys
/dev
/acpica
; \
248 for h in acpiio.h acpi_hpet.h
; do \
249 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/dev
/acpica
/$$h \
250 ${DESTDIR}${INCLUDEDIR}/dev
/acpica
; \
252 cd
${.CURDIR
}/..
/sys
/dev
/agp
; \
253 for h in agpreg.h
; do \
254 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/dev
/agp
/$$h \
255 ${DESTDIR}${INCLUDEDIR}/dev
/agp
; \
257 cd
${.CURDIR
}/..
/sys
/dev
/bktr
; \
258 for h in ioctl_
*.h
; do \
259 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/dev
/bktr
/$$h \
260 ${DESTDIR}${INCLUDEDIR}/dev
/bktr
; \
262 .if
${MK_NAND} != "no"
263 cd
${.CURDIR
}/..
/sys
/dev
/nand
; \
264 for h in nandsim.h nand_dev.h
; do \
265 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/dev
/nand
/$$h \
266 ${DESTDIR}${INCLUDEDIR}/dev
/nand
; \
269 cd
${.CURDIR
}/..
/sys
/dev
/pci
; \
270 for h in pcireg.h
; do \
271 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/dev
/pci
/$$h \
272 ${DESTDIR}${INCLUDEDIR}/dev
/pci
; \
274 .for i in
${LSUBSUBDIRS}
275 cd
${.CURDIR
}/..
/sys
/$i; \
277 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/..
/sys
/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
280 .if
${MK_IPFILTER} != "no"
281 cd
${.CURDIR
}/..
/sys
/contrib
/ipfilter
/netinet
; \
283 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/contrib
/ipfilter
/netinet
/$$h \
284 ${DESTDIR}${INCLUDEDIR}/netinet
; \
288 cd
${.CURDIR
}/..
/sys
/netpfil
/pf
; \
290 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/netpfil
/pf
/$$h \
291 ${DESTDIR}${INCLUDEDIR}/netpfil
/pf
; \
294 cd
${.CURDIR
}/..
/sys
/crypto
; \
295 for h in rijndael
/rijndael.h
; do \
296 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/crypto
/$$h \
297 ${DESTDIR}${INCLUDEDIR}/crypto
; \
299 cd
${.CURDIR
}/..
/sys
/opencrypto
; \
301 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/opencrypto
/$$h \
302 ${DESTDIR}${INCLUDEDIR}/crypto
; \
304 cd
${.CURDIR
}/..
/sys
/${MACHINE}/include; \
306 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/${MACHINE}/include/$$h \
307 ${DESTDIR}${INCLUDEDIR}/machine
; \
309 .if exists
(${.CURDIR
}/..
/sys
/${MACHINE}/include/pc)
310 cd
${.CURDIR
}/..
/sys
/${MACHINE}/include/pc; \
312 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/${MACHINE}/include/pc/$$h \
313 ${DESTDIR}${INCLUDEDIR}/machine
/pc; \
316 .for _MARCH in
${_MARCHS}
317 .if exists
(${.CURDIR
}/..
/sys
/${_MARCH}/include)
318 ${INSTALL} -d
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
755 \
319 ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
320 cd
${.CURDIR
}/..
/sys
/${_MARCH}/include; \
322 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/${_MARCH}/include/$$h \
323 ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \
325 .if exists
(${.CURDIR
}/..
/sys
/${_MARCH}/include/pc)
326 ${INSTALL} -d
${TAG_ARGS} -o
${BINOWN} -g
${BINGRP} -m
755 \
327 ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
328 cd
${.CURDIR
}/..
/sys
/${_MARCH}/include/pc; \
330 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/${_MARCH}/include/pc/$$h \
331 ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \
336 cd
${.CURDIR
}/..
/sys
/fs
/cd9660
; \
338 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/..
/sys
/fs
/cd9660
/$$h \
339 ${DESTDIR}${INCLUDEDIR}/isofs
/cd9660
; \
341 cd
${.CURDIR
}/..
/sys
/rpc
; \
342 for h in types.h
; do \
343 ${INSTALL_SYMLINK} ${TAG_ARGS} ..
/..
/..
/sys
/rpc
/$$h \
344 ${DESTDIR}${INCLUDEDIR}/rpc
; \
347 .
include <bsd.prog.mk
>
349 installincludes
: ${SHARED}
352 .if
${MACHINE} == "host" && !defined
(_SKIP_BUILD
)
353 # we're here because we are building a sysroot...
354 # we need MACHINE et al set correctly
355 HOST_MACHINE
!= uname
-m
356 HOST_MACHINE_ARCH
!= uname
-p
357 MACHINE
:= ${HOST_MACHINE}
358 MACHINE_ARCH
:= ${HOST_MACHINE_ARCH}