-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)))
+PHP_INCLUDES := -I/Users/Mike/Sources/php-src.git/{.,main,includes,Zend,TSRM,ext}
+JIT_INCLUDES := -I/usr/local/include
+UNAME := $(shell uname | tr a-z A-Z)
+INCLUDES += $(PHP_INCLUDES) $(JIT_INCLUDES)
+CFLAGS += -g -D$(UNAME) $(INCLUDES)
+LDFLAGS += -ljit -ljitdynamic /usr/local/php7/lib/libphp7.dylib -Xlinker -rpath -Xlinker /usr/local/php7/lib
+SOURCES := parser_proc.c parser.c validator.c compiler.c main.c
GENERATED_FILES := $(addsuffix .h, $(basename $(SOURCES)))
.PHONY: all
-all: headers main
-
-.PHONY: headers
-headers: makeheaders $(SOURCES)
- ./makeheaders $(HEADERS) types.h
+all: main
+##
+# 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 += lemon
lemon: lemon.c | lempar.c
-GENERATED_FILES += makeheaders.c
-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
+##
+# Main test program
+##
+$(SOURCES): Makefile
GENERATED_FILES += main
main: $(SOURCES)
-GENERATED_FILES += parser.c
-parser.c: parser.y lemon
- ./lemon -c -m $<
+##
+# Parser proc
+##
+GENERATED_FILES += parser_proc.c
+parser_proc.c: parser_proc.y lemon
+ ./lemon -c $<
-GENERATED_FILES += lexer.c
-lexer.c: lexer.re
+##
+# Parser with lexer
+##
+GENERATED_FILES += parser.c
+parser.c: parser.re
re2c -o $@ $<
-%.h: headers
-
-%.c: %.h
- touch $@
-
.PHONY: clean
clean:
-echo rm -f $(GENERATED_FILES)