projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
flush
[m6w6/ext-psi]
/
idl
/
Makefile
diff --git
a/idl/Makefile
b/idl/Makefile
index 84860c93b00b9b300e20d46620cf796ecaa3545f..6534ffe3677185790d468845b3e90d7648f39fcf 100644
(file)
--- a/
idl/Makefile
+++ b/
idl/Makefile
@@
-1,29
+1,45
@@
CFLAGS += -g -D$(shell uname | tr a-z A-Z)
CFLAGS += -g -D$(shell uname | tr a-z A-Z)
+SOURCES := parser_proc.c parser.c validator.c compiler.c main.c
+
+GENERATED_FILES := $(addsuffix .h, $(basename $(SOURCES)))
+
.PHONY: all
all: main
.PHONY: all
all: main
-makeheaders.c:
- curl -sSO http://www.hwaci.com/sw/mkhdr/makeheaders.c
+##
+# The lemon parser generator
+##
+GENERATED_FILES += lempar.c
+lempar.c:
+ curl -sSo $@ "http://www.sqlite.org/src/raw/tool/lempar.c?name=3617143ddb9b176c3605defe6a9c798793280120"
-GENERATED_FILES += makeheaders
-makeheaders: makeheaders.c
+GENERATED_FILES += lemon.c
+lemon.c:
+ curl -sSo $@ "http://www.sqlite.org/src/raw/tool/lemon.c?name=039f813b520b9395740c52f9cbf36c90b5d8df03"
+GENERATED_FILES += lemon
+lemon: lemon.c | lempar.c
+
+##
+# Main test program
+##
GENERATED_FILES += main
GENERATED_FILES += main
-main:
main.c parser.c lexer.c validator.c
+main:
$(SOURCES)
-GENERATED_FILES += parser.h
-parser.h: parser.c makeheaders
- ./makeheaders $<:$@
- touch $@
+##
+# Parser proc
+##
+GENERATED_FILES += parser_proc.c
+parser_proc.c: parser_proc.y lemon
+ ./lemon -c $<
+##
+# Parser with lexer
+##
GENERATED_FILES += parser.c
GENERATED_FILES += parser.c
-parser.c: parser.y types.h
- lemon -c -m $<
-
-GENERATED_FILES += lexer.c
-lexer.c: lexer.re parser.h
+parser.c: parser.re
re2c -o $@ $<
.PHONY: clean
clean:
re2c -o $@ $<
.PHONY: clean
clean:
- -rm -f $(GENERATED_FILES)
+ -
echo
rm -f $(GENERATED_FILES)