X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=idl%2FMakefile;h=ccc4bf6eac32902d83ca6059593cdb49f2f95cae;hp=84860c93b00b9b300e20d46620cf796ecaa3545f;hb=ca787916893fd2124a4dd72d326e3435fad5b9c8;hpb=059fffcaee65cf92b95bdbe91e5a156b89b2cf71 diff --git a/idl/Makefile b/idl/Makefile index 84860c9..ccc4bf6 100644 --- a/idl/Makefile +++ b/idl/Makefile @@ -1,29 +1,51 @@ CFLAGS += -g -D$(shell uname | tr a-z A-Z) +SOURCES := parser.c lexer.c validator.c compiler.c main.c +HEADERS := $(addsuffix .[ch], $(basename $(SOURCES))) + +GENERATED_FILES := $(addsuffix .h, $(basename $(SOURCES))) + .PHONY: all -all: main +all: headers main + +.PHONY: headers +headers: makeheaders $(SOURCES) + ./makeheaders $(HEADERS) types.h + +GENERATED_FILES += lempar.c +lempar.c: + curl -sSo $@ "http://www.sqlite.org/src/raw/tool/lempar.c?name=3617143ddb9b176c3605defe6a9c798793280120" + +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 +GENERATED_FILES += makeheaders.c makeheaders.c: - curl -sSO http://www.hwaci.com/sw/mkhdr/makeheaders.c + curl -sSo makeheaders.c "https://www.fossil-scm.org/xfer/raw/src/makeheaders.c?name=c42268ec69aae42b8dd10471fd73377d789873ca" +#http://www.hwaci.com/sw/mkhdr/makeheaders.c GENERATED_FILES += makeheaders makeheaders: makeheaders.c GENERATED_FILES += main -main: main.c parser.c lexer.c validator.c - -GENERATED_FILES += parser.h -parser.h: parser.c makeheaders - ./makeheaders $<:$@ - touch $@ +main: $(SOURCES) GENERATED_FILES += parser.c -parser.c: parser.y types.h - lemon -c -m $< +parser.c: parser.y lemon + ./lemon -c -m $< GENERATED_FILES += lexer.c -lexer.c: lexer.re parser.h +lexer.c: lexer.re re2c -o $@ $< +%.h: headers + +%.c: %.h + touch $@ + .PHONY: clean clean: - -rm -f $(GENERATED_FILES) + -echo rm -f $(GENERATED_FILES)