diff options
author | bde <bde@FreeBSD.org> | 1998-05-08 06:31:05 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1998-05-08 06:31:05 +0000 |
commit | ea52868070d5191a4d4e1270d3cb9506a3b1a995 (patch) | |
tree | 360718b46ed9e6fe547a727b87d0ba715dc26aeb /share/mk/bsd.dep.mk | |
parent | 1baebded07d93a8b57872369b293ffad83860c95 (diff) | |
download | FreeBSD-src-ea52868070d5191a4d4e1270d3cb9506a3b1a995.zip FreeBSD-src-ea52868070d5191a4d4e1270d3cb9506a3b1a995.tar.gz |
Moved lex and yacc source handling from bsd.prog.mk to bsd.dep.mk
so that it applies to libraries (and lkms) as well as programs.
Diffstat (limited to 'share/mk/bsd.dep.mk')
-rw-r--r-- | share/mk/bsd.dep.mk | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk index 040f14b..b98666e 100644 --- a/share/mk/bsd.dep.mk +++ b/share/mk/bsd.dep.mk @@ -1,4 +1,4 @@ -# $Id: bsd.dep.mk,v 1.19 1998/03/23 14:58:26 eivind Exp $ +# $Id: bsd.dep.mk,v 1.20 1998/05/06 18:43:58 bde Exp $ # # The include file <bsd.dep.mk> handles Makefile dependencies. # @@ -74,6 +74,45 @@ 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 |