Annotation of src/share/mk/bsd.dep.mk, Revision 1.22
1.22 ! espie 1: # $OpenBSD: bsd.dep.mk,v 1.21 2017/07/09 14:04:50 espie Exp $
1.3 mickey 2: # $NetBSD: bsd.dep.mk,v 1.12 1995/09/27 01:15:09 christos Exp $
1.1 deraadt 3:
4: .if !target(depend)
1.16 espie 5: depend:
6: @:
7: .endif
8:
9: # relies on DEPS defined by bsd.lib.mk and bsd.prog.mk
10: .if defined(DEPS) && !empty(DEPS)
1.20 espie 11: # catch22: don't include potentially bogus files we are going to clean
12: . if !(make(clean) || make(cleandir) || make(obj))
13: . for o in ${DEPS}
14: sinclude $o
15: . endfor
16: . endif
1.1 deraadt 17: .endif
18:
1.16 espie 19: CFLAGS += -MD -MP
20: CXXFLAGS += -MD -MP
21:
22: # libraries need some special love
1.17 espie 23: DFLAGS = -MD -MP -MT $*.o -MT $*.po -MT $*.so -MT $*.do
1.16 espie 24:
1.1 deraadt 25: .if !target(tags)
1.5 espie 26: . if defined(SRCS)
1.1 deraadt 27: tags: ${SRCS} _SUBDIRUSE
1.13 anton 28: -cd ${.CURDIR}; ${CTAGS} -f /dev/stdout -d ${.ALLSRC:N*.h} | \
1.1 deraadt 29: sed "s;\${.CURDIR}/;;" > tags
1.5 espie 30: . else
1.1 deraadt 31: tags:
1.5 espie 32: . endif
1.1 deraadt 33: .endif
34:
1.18 espie 35: # explicitly tag most source files
36: .for i in ${SRCS:N*.[hyl]:N*.sh} ${_LEXINTM} ${_YACCINTM}
1.19 espie 37: # assume libraries
38: ${i:R:S/$/.o/} ${i:R:S/$/.po/} ${i:R:S/$/.so/} ${i:R:S/$/.do/}: $i
1.18 espie 39: .endfor
1.21 espie 40:
41: # give us better rules for yacc
42:
43: .if ${YFLAGS:M-d}
44: # loop may not trigger
45: . for f in ${SRCS:M*.y}
46: ${f:.y=.c} ${f:.y=.h}: $f
47: ${YACC.y} -o ${f:.y=.c} ${.IMPSRC}
48: . endfor
49: CLEANFILES += ${SRCS:M*.y:.y=.h}
50: .endif
1.15 espie 51:
1.22 ! espie 52: .if defined(SRCS)
! 53: cleandir: cleandepend
! 54: cleandepend:
! 55: rm -f ${.CURDIR}/tags
! 56: .endif
! 57:
1.16 espie 58: CLEANFILES += ${DEPS} .depend
1.19 espie 59:
1.15 espie 60: BUILDFIRST ?=
61: BUILDAFTER ?=
1.19 espie 62: .if !empty(BUILDAFTER)
63: . for i in ${BUILDFIRST} ${_LEXINTM} ${_YACCINTM}
64: . if !exists($i)
65: ${BUILDAFTER}: $i
66: . endif
67: . endfor
1.1 deraadt 68: .endif
1.22 ! espie 69: .PHONY: cleandepend