xref: /netbsd/share/mk/bsd.dep.mk (revision bf9ec67e)
1#	$NetBSD: bsd.dep.mk,v 1.34 2001/11/28 04:38:29 tv Exp $
2
3##### Basic targets
4.PHONY:		cleandepend
5cleandir:	cleandepend
6realdepend:	beforedepend .depend afterdepend
7.ORDER:		beforedepend .depend afterdepend
8
9beforedepend .depend afterdepend: # ensure existence
10
11##### Default values
12MKDEP?=		mkdep
13
14##### Build rules
15# some of the rules involve .h sources, so remove them from mkdep line
16
17.if defined(SRCS)
18.NOPATH:	.depend
19.depend: ${SRCS} ${DPSRCS}
20	@rm -f .depend
21	@files="${.ALLSRC:M*.s} ${.ALLSRC:M*.S}"; \
22	if [ "$$files" != " " ]; then \
23	  echo ${MKDEP} -a ${MKDEPFLAGS} \
24	    ${AFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} -traditional-cpp ${AINC:Q} \
25	    $$files; \
26	  ${MKDEP} -a ${MKDEPFLAGS} \
27	    ${AFLAGS:M-[ID]*} ${CPPFLAGS} -traditional-cpp ${AINC} $$files; \
28	fi
29	@files="${.ALLSRC:M*.c}"; \
30	if [ "$$files" != "" ]; then \
31	  echo ${MKDEP} -a ${MKDEPFLAGS} \
32	    ${CFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
33	  ${MKDEP} -a ${MKDEPFLAGS} \
34	    ${CFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
35	fi
36	@files="${.ALLSRC:M*.m}"; \
37	if [ "$$files" != "" ]; then \
38	  echo ${MKDEP} -a ${MKDEPFLAGS} \
39	    ${OBJCFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
40	  ${MKDEP} -a ${MKDEPFLAGS} \
41	    ${OBJCFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
42	fi
43	@files="${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cxx}"; \
44	if [ "$$files" != "  " ]; then \
45	  echo ${MKDEP} -a ${MKDEPFLAGS} \
46	    ${CXXFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
47	  ${MKDEP} -a ${MKDEPFLAGS} \
48	    ${CXXFLAGS:M-[ID]*} ${DESTDIR:D-nostdinc++ ${CPPFLAG_ISYSTEM} ${DESTDIR}/usr/include/g++} ${CPPFLAGS} $$files; \
49	fi
50.endif # defined(SRCS)
51
52##### Clean rules
53cleandepend:
54.if defined(SRCS)
55	rm -f .depend ${.CURDIR}/tags ${CLEANDEPEND}
56.endif
57
58##### Custom rules
59.if !target(tags)
60tags: ${SRCS}
61.if defined(SRCS)
62	-cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \
63	    sed "s;\${.CURDIR}/;;" > tags
64.endif
65.endif
66