e17b52685084c7764bc6085168bde79df200986a
[m6w6/ext-psi] / idl / Makefile
1 CFLAGS += -g -D$(shell uname | tr a-z A-Z)
2 SOURCES := parser_proc.c parser.c lexer.c validator.c compiler.c main.c
3 MAKEHEADERS := $(addsuffix .[ch], $(basename $(SOURCES)))
4
5 GENERATED_FILES := $(addsuffix .h, $(basename $(SOURCES)))
6
7 .PHONY: all
8 all: headers main
9
10 GENERATED_FILES += lempar.c
11 lempar.c:
12 curl -sSo $@ "http://www.sqlite.org/src/raw/tool/lempar.c?name=3617143ddb9b176c3605defe6a9c798793280120"
13
14 GENERATED_FILES += lemon.c
15 lemon.c:
16 curl -sSo $@ "http://www.sqlite.org/src/raw/tool/lemon.c?name=039f813b520b9395740c52f9cbf36c90b5d8df03"
17
18 GENERATED_FILES += lemon
19 lemon: lemon.c | lempar.c
20
21 GENERATED_FILES += main
22 main: $(SOURCES)
23
24 GENERATED_FILES += parser_proc.c
25 parser_proc.c: parser_proc.y lemon
26 ./lemon -c $@
27
28 GENERATED_FILES += lexer.c
29 lexer.c: lexer.re
30 re2c -o $@ $<
31
32 .PHONY: clean
33 clean:
34 -echo rm -f $(GENERATED_FILES)