dhcpcd: update README.DRAGONFLY
[dragonfly.git] / sys / conf / kern.fwd.mk
blob4dc98c76090768f38a3d3079954bc436eeddf603
1 # Create forwarding headers for ${SYSDIR}/cpu/${MACHINE_ARCH}/*.h in
2 # ${_MACHINE_FWD}/include/machine and share the directory among module build
3 # directories.
4 # Define _MACHINE_FWD before inclusion of this file.
5 .if !defined(_MACHINE_FWD)
6 .error you must define _MACHINE_FWD in which to generate forwarding headers.
7 .endif
9 # _FWDHDRS fills in missing <machine/BLAH.h> headers from <cpu/BLAH.h>,
10 # allowing us to omit forwarding-only header files in each platform
11 # architecture's machine/ directory.
13 _cpu_hdrs!= echo ${SYSDIR}/cpu/${MACHINE_ARCH}/include/*.h
14 _FWDHDRS=
15 .for _h in ${_cpu_hdrs}
16 _fwd:= ${_MACHINE_FWD}/include/machine/${_h:T}
17 _FWDHDRS:= ${_FWDHDRS} ${_fwd}
18 ${_fwd}: ${_h}
19 .endfor
21 # _LHDRS mimics _LHDRS from /usr/src/include/Makefile, directly linking
22 # sys/BLAH.h as <BLAH.h> for certain header files. These are used to
23 # mimic a standard user include topology. Only the virtual kernel
24 # build uses these. e.g. in order for #include <fcntl.h> to work.
26 _lhdrs= aio.h errno.h fcntl.h linker_set.h poll.h syslog.h ucontext.h
27 _LHDRS=
28 .for _h in ${_lhdrs}
29 _fwd:= ${_MACHINE_FWD}/include/${_h}
30 _LHDRS:= ${_LHDRS} ${_fwd}
31 ${_fwd}: ${SYSDIR}/sys/${_h}
32 .endfor
34 .ORDER: ${_MACHINE_FWD}/include/machine ${_FWDHDRS} ${_LHDRS}
36 ${_MACHINE_FWD} ${_MACHINE_FWD}/include/machine:
37 @mkdir -p ${.TARGET}
39 FORWARD_HEADERS_COOKIE= ${_MACHINE_FWD}/.done
40 ${FORWARD_HEADERS_COOKIE}: ${_MACHINE_FWD}/include/machine ${_FWDHDRS} ${_LHDRS}
41 @touch ${.TARGET}
43 ${_FWDHDRS}:
44 @(echo "creating machine/ forwarding header ${.TARGET}" 1>&2; \
45 echo "/*" ; \
46 echo " * CONFIG-GENERATED FILE, DO NOT EDIT" ; \
47 echo " */" ; \
48 echo ; \
49 echo "#ifndef _MACHINE_${.TARGET:T:S/./_/g:tu}_" ; \
50 echo "#define _MACHINE_${.TARGET:T:S/./_/g:tu}_" ; \
51 echo "#include <cpu/${.TARGET:T}>" ; \
52 echo "#endif" ; \
53 echo) > ${.TARGET}.${.MAKE.PID}
54 @mv -f ${.TARGET}.${.MAKE.PID} ${.TARGET}
56 ${_LHDRS}:
57 @(echo "creating sys/ forwarding header ${.TARGET}" 1>&2; \
58 echo "/*" ; \
59 echo " * CONFIG-GENERATED FILE, DO NOT EDIT" ; \
60 echo " */" ; \
61 echo ; \
62 echo "#ifndef _${.TARGET:T:S/./_/g:tu}_" ; \
63 echo "#define _${.TARGET:T:S/./_/g:tu}_" ; \
64 echo "#include <sys/${.TARGET:T}>" ; \
65 echo "#endif" ; \
66 echo) > ${.TARGET}.${.MAKE.PID}
67 @mv -f ${.TARGET}.${.MAKE.PID} ${.TARGET}