Oops, the lex and yacc sources must be added to SRCS before ${SRCS}
is used in the dependency list for ${DEPENDFILE}. `make depend' was broken for a few days. `make world' only uses `make depend' when NOCLEAN is defined, so only a few people noticed the bug. Submitted by: mostly by jmg
This commit is contained in:
parent
60b8dd8b43
commit
6970f26be5
@ -1,4 +1,4 @@
|
||||
# $Id: bsd.dep.mk,v 1.20 1998/05/06 18:43:58 bde Exp $
|
||||
# $Id: bsd.dep.mk,v 1.21 1998/05/08 06:31:05 bde Exp $
|
||||
#
|
||||
# The include file <bsd.dep.mk> handles Makefile dependencies.
|
||||
#
|
||||
@ -31,6 +31,45 @@
|
||||
MKDEPCMD?= mkdep
|
||||
DEPENDFILE?= .depend
|
||||
|
||||
.if defined(SRCS)
|
||||
CLEANFILES?=
|
||||
|
||||
.for _LSRC in ${SRCS:M*.l:N*/*}
|
||||
.for _LC in ${_LSRC:S/.l/.c/}
|
||||
${_LC}: ${_LSRC}
|
||||
${LEX} -t ${LFLAGS} ${.ALLSRC} > ${.TARGET}
|
||||
SRCS:= ${SRCS:S/${_LSRC}/${_LC}/}
|
||||
CLEANFILES:= ${CLEANFILES} ${_LC}
|
||||
.endfor
|
||||
.endfor
|
||||
|
||||
.for _YSRC in ${SRCS:M*.y:N*/*}
|
||||
.for _YC in ${_YSRC:S/.y/.c/}
|
||||
SRCS:= ${SRCS:S/${_YSRC}/${_YC}/}
|
||||
CLEANFILES:= ${CLEANFILES} ${_YC}
|
||||
.if ${YFLAGS:M-d} != "" && ${SRCS:My.tab.h}
|
||||
.ORDER: ${_YC} y.tab.h
|
||||
${_YC} y.tab.h: ${_YSRC}
|
||||
${YACC} ${YFLAGS} ${.ALLSRC}
|
||||
cp y.tab.c ${_YC}
|
||||
SRCS:= ${SRCS} y.tab.h
|
||||
CLEANFILES:= ${CLEANFILES} y.tab.c y.tab.h
|
||||
.elif ${YFLAGS:M-d} != ""
|
||||
.for _YH in ${_YC:S/.c/.h/}
|
||||
.ORDER: ${_YC} ${_YH}
|
||||
${_YC} ${_YH}: ${_YSRC}
|
||||
${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC}
|
||||
SRCS:= ${SRCS} ${_YH}
|
||||
CLEANFILES:= ${CLEANFILES} ${_YH}
|
||||
.endfor
|
||||
.else
|
||||
${_YC}: ${_YSRC}
|
||||
${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC}
|
||||
.endif
|
||||
.endfor
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
.if !target(depend)
|
||||
.if defined(SRCS)
|
||||
depend: beforedepend ${DEPENDFILE} afterdepend _SUBDIR
|
||||
@ -74,45 +113,6 @@ afterdepend:
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if defined(SRCS)
|
||||
CLEANFILES?=
|
||||
|
||||
.for _LSRC in ${SRCS:M*.l:N*/*}
|
||||
.for _LC in ${_LSRC:S/.l/.c/}
|
||||
${_LC}: ${_LSRC}
|
||||
${LEX} -t ${LFLAGS} ${.ALLSRC} > ${.TARGET}
|
||||
SRCS:= ${SRCS:S/${_LSRC}/${_LC}/}
|
||||
CLEANFILES:= ${CLEANFILES} ${_LC}
|
||||
.endfor
|
||||
.endfor
|
||||
|
||||
.for _YSRC in ${SRCS:M*.y:N*/*}
|
||||
.for _YC in ${_YSRC:S/.y/.c/}
|
||||
SRCS:= ${SRCS:S/${_YSRC}/${_YC}/}
|
||||
CLEANFILES:= ${CLEANFILES} ${_YC}
|
||||
.if ${YFLAGS:M-d} != "" && ${SRCS:My.tab.h}
|
||||
.ORDER: ${_YC} y.tab.h
|
||||
${_YC} y.tab.h: ${_YSRC}
|
||||
${YACC} ${YFLAGS} ${.ALLSRC}
|
||||
cp y.tab.c ${_YC}
|
||||
SRCS:= ${SRCS} y.tab.h
|
||||
CLEANFILES:= ${CLEANFILES} y.tab.c y.tab.h
|
||||
.elif ${YFLAGS:M-d} != ""
|
||||
.for _YH in ${_YC:S/.c/.h/}
|
||||
.ORDER: ${_YC} ${_YH}
|
||||
${_YC} ${_YH}: ${_YSRC}
|
||||
${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC}
|
||||
SRCS:= ${SRCS} ${_YH}
|
||||
CLEANFILES:= ${CLEANFILES} ${_YH}
|
||||
.endfor
|
||||
.else
|
||||
${_YC}: ${_YSRC}
|
||||
${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC}
|
||||
.endif
|
||||
.endfor
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
.if defined(NOTAGS)
|
||||
tags:
|
||||
.endif
|
||||
|
Loading…
Reference in New Issue
Block a user