xref: /freebsd/share/mk/bsd.dep.mk (revision b16495e786c9b450e398ccbc22f759700ad5f03d)
1b16495e7SWolfram Schneider#	$Id: bsd.dep.mk,v 1.5 1996/03/31 20:04:08 wosch Exp $
2b16495e7SWolfram Schneider
3b16495e7SWolfram SchneiderMKDEPCMD?=	mkdep
4b16495e7SWolfram SchneiderDEPENDFILE?=	.depend
5d14f862cSGarrett Wollman
6d14f862cSGarrett Wollman# some of the rules involve .h sources, so remove them from mkdep line
7d14f862cSGarrett Wollman.if !target(depend)
8b16495e7SWolfram Schneiderdepend: beforedepend ${DEPENDFILE} afterdepend ${_DEPSUBDIR}
9d14f862cSGarrett Wollman.if defined(SRCS)
10b16495e7SWolfram Schneider
11b16495e7SWolfram Schneider# .if defined ${SRCS:M*.[sS]} does not work
12b16495e7SWolfram Schneider__depend_s=	${SRCS:M*.[sS]}
13b16495e7SWolfram Schneider__depend_c=	${SRCS:M*.c}
14b16495e7SWolfram Schneider__depend_cc=	${SRCS:M*.cc} ${SRCS:M*.C} ${SRCS:M*.cxx}
15b16495e7SWolfram Schneider
16b16495e7SWolfram Schneider${DEPENDFILE}: ${SRCS}
17b16495e7SWolfram Schneider	rm -f ${DEPENDFILE}
18b16495e7SWolfram Schneider.if defined(__depend_s) && !empty(__depend_s)
19b16495e7SWolfram Schneider	${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} ${CFLAGS:M-[ID]*} ${AINC} \
20b16495e7SWolfram Schneider		${.ALLSRC:M*.[sS]}
21b16495e7SWolfram Schneider.endif
22b16495e7SWolfram Schneider.if defined(__depend_c) && !empty(__depend_c)
23b16495e7SWolfram Schneider	${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} ${CFLAGS:M-[ID]*} \
24b16495e7SWolfram Schneider		${.ALLSRC:M*.c}
25b16495e7SWolfram Schneider.endif
26b16495e7SWolfram Schneider.if defined(__depend_cc) && !empty(__depend_cc)
27b16495e7SWolfram Schneider	${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \
28b16495e7SWolfram Schneider		${CXXFLAGS:M-nostd*} ${CXXFLAGS:M-[ID]*} \
29b16495e7SWolfram Schneider		${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cxx}
30b16495e7SWolfram Schneider.endif
31b16495e7SWolfram Schneider
32d14f862cSGarrett Wollman.else
33b16495e7SWolfram Schneider${DEPENDFILE}: ${_DEPSUBDIR}
34d14f862cSGarrett Wollman.endif
35d14f862cSGarrett Wollman.if !target(beforedepend)
36d14f862cSGarrett Wollmanbeforedepend:
37d14f862cSGarrett Wollman.endif
38d14f862cSGarrett Wollman.if !target(afterdepend)
39d14f862cSGarrett Wollmanafterdepend:
40d14f862cSGarrett Wollman.endif
41d14f862cSGarrett Wollman.endif
42d14f862cSGarrett Wollman
43d14f862cSGarrett Wollman.if !target(tags)
44d14f862cSGarrett Wollman.if defined(SRCS)
45d14f862cSGarrett Wollmantags: ${SRCS}
46d14f862cSGarrett Wollman	-cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \
47d14f862cSGarrett Wollman	    sed "s;\${.CURDIR}/;;" > tags
48d14f862cSGarrett Wollman.else
49d14f862cSGarrett Wollmantags:
50d14f862cSGarrett Wollman.endif
51d14f862cSGarrett Wollman.endif
52d14f862cSGarrett Wollman
53d14f862cSGarrett Wollman.if defined(SRCS)
54d14f862cSGarrett Wollmanclean:
55d14f862cSGarrett Wollmancleandir: cleandepend
56d14f862cSGarrett Wollmancleandepend:
57b16495e7SWolfram Schneider	rm -f ${DEPENDFILE} ${.CURDIR}/tags
58d14f862cSGarrett Wollman.endif
59