bsd.dep.mk revision 1.29
1#	$NetBSD: bsd.dep.mk,v 1.29 1999/11/16 13:15:09 tron Exp $
2
3.PHONY:		cleandepend
4cleandir distclean: cleandepend
5
6MKDEP?=		mkdep
7
8# some of the rules involve .h sources, so remove them from mkdep line
9depend: beforedepend
10.if defined(SRCS)
11depend: .depend
12	@true # hack to prevent "make depend" from using implicit rules
13.NOPATH: .depend
14.depend: ${SRCS} ${DPSRCS}
15	@rm -f .depend
16	@files="${.ALLSRC:M*.s} ${.ALLSRC:M*.S}"; \
17	if [ "$$files" != " " ]; then \
18	  echo ${MKDEP} -a ${MKDEPFLAGS} \
19	    ${AFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} -traditional-cpp ${AINC:Q} \
20	    $$files; \
21	  ${MKDEP} -a ${MKDEPFLAGS} \
22	    ${AFLAGS:M-[ID]*} ${CPPFLAGS} -traditional-cpp ${AINC} $$files; \
23	fi
24	@files="${.ALLSRC:M*.c}"; \
25	if [ "$$files" != "" ]; then \
26	  echo ${MKDEP} -a ${MKDEPFLAGS} \
27	    ${CFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
28	  ${MKDEP} -a ${MKDEPFLAGS} \
29	    ${CFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
30	fi
31	@files="${.ALLSRC:M*.m}"; \
32	if [ "$$files" != "" ]; then \
33	  echo ${MKDEP} -a ${MKDEPFLAGS} \
34	    ${OBJCFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
35	  ${MKDEP} -a ${MKDEPFLAGS} \
36	    ${OBJCFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
37	fi
38	@files="${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cxx}"; \
39	if [ "$$files" != "  " ]; then \
40	  echo ${MKDEP} -a ${MKDEPFLAGS} \
41	    ${CXXFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
42	  ${MKDEP} -a ${MKDEPFLAGS} \
43	    ${CXXFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
44	fi
45cleandepend:
46	rm -f .depend ${.CURDIR}/tags ${CLEANDEPEND}
47.else
48cleandepend:
49.endif
50depend: afterdepend
51
52beforedepend:
53afterdepend:
54
55.if !target(tags)
56.if defined(SRCS)
57tags: ${SRCS}
58	-cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \
59	    sed "s;\${.CURDIR}/;;" > tags
60.else
61tags:
62.endif
63.endif
64