Annotation of src/share/mk/bsd.dep.mk, Revision 1.21
1.21 ! espie 1: # $OpenBSD: bsd.dep.mk,v 1.20 2017/07/05 13:30:01 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.16 espie 52: CLEANFILES += ${DEPS} .depend
1.19 espie 53:
1.15 espie 54: BUILDFIRST ?=
55: BUILDAFTER ?=
1.19 espie 56: .if !empty(BUILDAFTER)
57: . for i in ${BUILDFIRST} ${_LEXINTM} ${_YACCINTM}
58: . if !exists($i)
59: ${BUILDAFTER}: $i
60: . endif
61: . endfor
1.1 deraadt 62: .endif