xref: /openbsd/sys/arch/landisk/Makefile (revision 7b474003)
1#	$OpenBSD: Makefile,v 1.10 2017/01/22 03:27:31 tb Exp $
2
3.include <bsd.own.mk>    # for KEEPKERNELS
4
5S=	${.CURDIR}/../..
6KFILE=	GENERIC
7.if exists(conf/GENERIC.MP)
8KFILE=	GENERIC.MP
9.endif
10TDIRS=	${_arch} include
11TAGS=	${.CURDIR}/tags
12
13NOPROG=
14NOMAN=
15NOOBJ=
16SUBDIR=	stand
17.if !defined(KEEPKERNELS) || !(make(clean) || make(cleandir))
18SUBDIR+=compile
19.endif
20
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.
25tags::
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}
43
44links:
45	-for i in conf ${TDIRS}; do \
46	    (cd $$i && rm -f tags; ln -s tags tags); done
47
48obj:	_SUBDIRUSE
49
50.include <bsd.prog.mk>
51