2021-05-02 17:52:07 +00:00
|
|
|
LEX = flex
|
|
|
|
YACC = bison
|
|
|
|
YFLAGS = -y -d
|
|
|
|
CC = gcc
|
|
|
|
|
2021-05-03 19:06:58 +00:00
|
|
|
BIN_NAME = marshaller-gen
|
2021-05-02 17:52:07 +00:00
|
|
|
|
2021-05-03 19:06:58 +00:00
|
|
|
$(BIN_NAME): src/codegen.c gen/lex.yy.c gen/y.tab.c
|
2021-05-03 12:16:48 +00:00
|
|
|
$(CC) -Isrc/ -o $@ $^
|
2021-05-02 17:52:07 +00:00
|
|
|
|
2021-05-04 15:36:05 +00:00
|
|
|
gen/y.tab.c gen/y.tab.h: src/parser.y gen
|
2021-05-02 17:52:07 +00:00
|
|
|
$(YACC) $(YFLAGS) $<
|
2021-05-03 09:39:33 +00:00
|
|
|
mv y.tab.c gen/
|
|
|
|
mv y.tab.h gen/
|
2021-05-02 17:52:07 +00:00
|
|
|
|
2021-05-04 15:36:05 +00:00
|
|
|
gen/lex.yy.c: src/scanner.l gen/y.tab.h gen
|
2021-05-02 17:52:07 +00:00
|
|
|
$(LEX) $<
|
2021-05-03 09:39:33 +00:00
|
|
|
mv lex.yy.c gen/
|
2021-05-02 17:52:07 +00:00
|
|
|
|
2021-05-04 15:36:05 +00:00
|
|
|
gen:
|
|
|
|
mkdir -p gen/
|
|
|
|
|
2021-05-02 17:52:07 +00:00
|
|
|
clean:
|
|
|
|
rm -f gen/* $(BIN_NAME)
|