automake: various fixes for c/dsls/Makefile.am

Improve 'make -j' behaviour.
Improve 'make clean'.
Fix flex rules.
This commit is contained in:
Thomas Klausner 2015-09-15 09:13:59 +02:00
parent cfb5988130
commit d68909e458

View file

@ -5,12 +5,11 @@ noinst_PROGRAMS= lemon pdm fdm
lemon_SOURCES= lemon.c
noinst_LTLIBRARIES= libfdsl.la libpdsl.la
libfdsl_la_SOURCES= filter_dsl_parse.c filter_dsl_lexer.c filter_dsl_wrapper.c
libpdsl_la_SOURCES= put_dsl_parse.c put_dsl_lexer.c put_dsl_wrapper.c
BUILT_SOURCES= filter_dsl_parse.c put_dsl_parse.c
CLEANFILES= ${BUILT_SOURCES} \
filter_dsl_parse.h filter_dsl_parse.out \
put_dsl_parse.h put_dsl_parse.out
# if we don't want to distribute the generated sources, move them to a nodist_libfoo_la_SOURCES variable
libfdsl_la_SOURCES= filter_dsl_lexer.c filter_dsl_lexer.h filter_dsl_parse.c filter_dsl_parse.h filter_dsl_wrapper.c
libpdsl_la_SOURCES= put_dsl_lexer.c put_dsl_lexer.h put_dsl_parse.c put_dsl_parse.h put_dsl_wrapper.c
CLEANFILES= filter_dsl_lexer.c filter_dsl_lexer.h filter_dsl_parse.c filter_dsl_parse.h filter_dsl_parse.out \
put_dsl_lexer.c put_dsl_lexer.h put_dsl_parse.c put_dsl_parse.h put_dsl_parse.out
EXTRA_DIST= \
filter_dsl_lexer.l \
filter_dsl_parse.y \
@ -25,7 +24,9 @@ pdm_SOURCES= put_dsl_parse.c put_dsl_parse.h put_dsl_lexer.c put_dsl_lexer.h pu
pdm_LDADD= ../containers/libcontainers.la ../lib/libmlr.la libpdsl.la -lm
pdm_CFLAGS= -D __PUT_DSL_MAIN__ ${AM_CFLAGS}
put_dsl_parse.c put_dsl_parse.h: put_dsl_parse.y lempar.c lemon
put_dsl_wrapper.c: put_dsl_lexer.h
put_dsl_parse.h: put_dsl_parse.c
put_dsl_parse.c: put_dsl_parse.y lempar.c lemon
./lemon put_dsl_parse.y
# lemon does not re-generate the file if it exists and is the same
# this causes problems with the dependency above
@ -42,10 +43,13 @@ put_dsl_parse.c put_dsl_parse.h: put_dsl_parse.y lempar.c lemon
rm -f put_dsl_parse.c.tmp
put_dsl_lexer.c put_dsl_lexer.h: put_dsl_lexer.l
flex --prefix=put_dsl_lexer_ --outfile=put_dsl_lexer.c --header-file=put_dsl_lexer.h put_dsl_lexer.l
put_dsl_lexer.h: put_dsl_lexer.c
put_dsl_lexer.c: put_dsl_lexer.l put_dsl_parse.h
flex --prefix=put_dsl_lexer_ --outfile=put_dsl_lexer.c --header-file=put_dsl_lexer.h ${srcdir}/put_dsl_lexer.l
filter_dsl_parse.c filter_dsl_parse.h: filter_dsl_parse.y lempar.c lemon
filter_dsl_wrapper.c: filter_dsl_lexer.h
filter_dsl_parse.h: filter_dsl_parse.c
filter_dsl_parse.c: filter_dsl_parse.y lempar.c lemon
./lemon filter_dsl_parse.y
# lemon does not re-generate the file if it exists and is the same
# this causes problems with the dependency above
@ -61,10 +65,11 @@ filter_dsl_parse.c filter_dsl_parse.h: filter_dsl_parse.y lempar.c lemon
filter_dsl_parse.c.tmp > filter_dsl_parse.c
rm -f filter_dsl_parse.c.tmp
filter_dsl_lexer.c filter_dsl_lexer.h: filter_dsl_lexer.l
flex --prefix=filter_dsl_lexer_ --outfile=filter_dsl_lexer.c --header-file=filter_dsl_lexer.h filter_dsl_lexer.l
filter_dsl_lexer.h: filter_dsl_lexer.c
filter_dsl_lexer.c: filter_dsl_lexer.l filter_dsl_parse.c
flex --prefix=filter_dsl_lexer_ --outfile=filter_dsl_lexer.c --header-file=filter_dsl_lexer.h ${srcdir}/filter_dsl_lexer.l
distclean:
distclean-local:
if [ "${srcdir}" != "." ]; then \
rm -f filter_dsl_parse.y lempar.c put_dsl_parse.y; \
fi