mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-31 19:51:33 +00:00
85 lines
3.5 KiB
Makefile
85 lines
3.5 KiB
Makefile
top: pdm fdm
|
|
CCOMP=gcc
|
|
|
|
CFLAGS=-I.. -O3
|
|
#CFLAGS=-I.. -g
|
|
|
|
# ----------------------------------------------------------------
|
|
pdm: put_dsl_parse.o put_dsl_lexer.o put_dsl_wrapper.o ../containers/mlr_dsl_ast.c ../containers/mlr_dsl_ast.h
|
|
$(CCOMP) $(CFLAGS) -std=gnu99 -D __PUT_DSL_MAIN__ ../containers/sllv.c ../containers/slls.c ../lib/mlrutil.c ../containers/lrec.c ../containers/header_keeper.c put_dsl_parse.c put_dsl_lexer.c ../containers/mlr_dsl_ast.c put_dsl_wrapper.c -o pdm -lm
|
|
|
|
put_dsl_wrapper.o: put_dsl_wrapper.c put_dsl_wrapper.h
|
|
$(CCOMP) -Wall $(CFLAGS) -c -std=gnu99 put_dsl_wrapper.c
|
|
|
|
put_dsl_parse.o: put_dsl_parse.c put_dsl_parse.h
|
|
$(CCOMP) $(CFLAGS) -c -std=gnu99 put_dsl_parse.c
|
|
put_dsl_parse.c put_dsl_parse.h: put_dsl_parse.y lemon
|
|
./lemon put_dsl_parse.y
|
|
mv put_dsl_parse.c put_dsl_parse.c.tmp
|
|
sed \
|
|
-e 's/ParseTrace/put_dsl_ParseTrace/g' \
|
|
-e 's/ParseTokenName/put_dsl_ParseTokenName/g' \
|
|
-e 's/lemon_parser_alloc/put_dsl_lemon_parser_alloc/g' \
|
|
-e 's/lemon_parser_free/put_dsl_lemon_parser_free/g' \
|
|
-e 's/lemon_parser_parse_token/put_dsl_lemon_parser_parse_token/g' \
|
|
-e 's/yy_destructor/put_dsl_yy_destructor/g' \
|
|
put_dsl_parse.c.tmp > put_dsl_parse.c
|
|
rm -f put_dsl_parse.c.tmp
|
|
|
|
|
|
# muldef:
|
|
# ParseTrace
|
|
# ParseTokenName
|
|
# lemon_parser_alloc
|
|
# lemon_parser_free
|
|
# lemon_parser_parse_token
|
|
# yy_destructor
|
|
|
|
put_dsl_lexer.o: put_dsl_lexer.c put_dsl_lexer.h
|
|
$(CCOMP) $(CFLAGS) -c -std=gnu99 put_dsl_lexer.c
|
|
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
|
|
|
|
# ----------------------------------------------------------------
|
|
fdm: filter_dsl_parse.o filter_dsl_lexer.o filter_dsl_wrapper.o ../containers/mlr_dsl_ast.c ../containers/mlr_dsl_ast.h
|
|
$(CCOMP) $(CFLAGS) -std=gnu99 -D __FILTER_DSL_MAIN__ ../containers/sllv.c ../containers/slls.c ../lib/mlrutil.c ../containers/lrec.c ../containers/header_keeper.c filter_dsl_parse.c filter_dsl_lexer.c ..//containers/mlr_dsl_ast.c filter_dsl_wrapper.c -o fdm -lm
|
|
|
|
filter_dsl_wrapper.o: filter_dsl_wrapper.c filter_dsl_wrapper.h
|
|
$(CCOMP) -Wall $(CFLAGS) -c -std=gnu99 filter_dsl_wrapper.c
|
|
|
|
filter_dsl_parse.o: filter_dsl_parse.c filter_dsl_parse.h
|
|
$(CCOMP) $(CFLAGS) -c -std=gnu99 filter_dsl_parse.c
|
|
filter_dsl_parse.c filter_dsl_parse.h: filter_dsl_parse.y lemon
|
|
./lemon filter_dsl_parse.y
|
|
mv filter_dsl_parse.c filter_dsl_parse.c.tmp
|
|
sed \
|
|
-e 's/ParseTrace/filter_dsl_ParseTrace/g' \
|
|
-e 's/ParseTokenName/filter_dsl_ParseTokenName/g' \
|
|
-e 's/lemon_parser_alloc/filter_dsl_lemon_parser_alloc/g' \
|
|
-e 's/lemon_parser_free/filter_dsl_lemon_parser_free/g' \
|
|
-e 's/lemon_parser_parse_token/filter_dsl_lemon_parser_parse_token/g' \
|
|
-e 's/yy_destructor/filter_dsl_yy_destructor/g' \
|
|
filter_dsl_parse.c.tmp > filter_dsl_parse.c
|
|
rm -f filter_dsl_parse.c.tmp
|
|
|
|
filter_dsl_lexer.o: filter_dsl_lexer.c filter_dsl_lexer.h
|
|
$(CCOMP) $(CFLAGS) -c -std=gnu99 filter_dsl_lexer.c
|
|
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
|
|
|
|
# ----------------------------------------------------------------
|
|
lemon: lemon.c lempar.c
|
|
$(CCOMP) -o lemon lemon.c
|
|
|
|
# ----------------------------------------------------------------
|
|
clean:
|
|
rm -f pdm fdm
|
|
rm -f *.o
|
|
rm -f put_dsl_parse.c put_dsl_parse.h put_dsl_parse.out
|
|
rm -f put_dsl_lexer.c put_dsl_lexer.h
|
|
rm -f filter_dsl_parse.c filter_dsl_parse.h filter_dsl_parse.out
|
|
rm -f filter_dsl_lexer.c filter_dsl_lexer.h
|
|
rm -f lemon
|
|
|
|
.always:
|
|
@/bin/true
|