Blob


1 # $OpenBSD: Makefile,v 1.13 2017/01/22 03:27:31 tb Exp $
3 .include <bsd.own.mk> # for KEEPKERNELS
5 S= ${.CURDIR}/../..
6 KFILE= GENERIC
7 .if exists(conf/GENERIC.MP)
8 KFILE= GENERIC.MP
9 .endif
10 TDIRS= ${_arch} include pci
11 TAGS= ${.CURDIR}/tags
13 NOPROG=
14 NOMAN=
15 NOOBJ=
16 SUBDIR= stand
17 .if !defined(KEEPKERNELS) || !(make(clean) || make(cleandir))
18 SUBDIR+=compile
19 .endif
21 # config the fattest kernel we can find into a temporary dir
22 # to create a Makefile. Then use make to pull some variables
23 # out and push them into the sub-shell to expand the paths,
24 # and finally run ctags.
25 tags::
26 TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
27 eval "S=${S}" && \
28 config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
29 eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
30 eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
31 eval "_machdir=\$S/arch/$${_mach}" && \
32 eval "_archdir=\$S/arch/$${_arch}" && \
33 eval "HFILES=\"`find $S \( -path $S/arch -o -path $S/stand -o -path $S/lib/libsa -o -path $S/lib/libkern/arch \) -prune -o -name '*.h'; find $${_machdir} $${_archdir} $S/lib/libkern/arch/$${_arch} \( -name boot -o -name stand \) -prune -o -name '*.h'`\"" && \
34 eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
35 eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
36 eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
37 ctags -wd -f ${TAGS} $${CFILES} $${HFILES} && \
38 egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
39 sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
40 >> ${TAGS} && \
41 sort -o ${TAGS} ${TAGS} && \
42 rm -rf $${TDIR}
44 links:
45 -for i in conf ${TDIRS}; do \
46 (cd $$i && rm -f tags; ln -s tags tags); done
48 obj: _SUBDIRUSE
50 .include <bsd.prog.mk>