summaryrefslogtreecommitdiff
path: root/glcpp/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'glcpp/Makefile')
-rw-r--r--glcpp/Makefile25
1 files changed, 25 insertions, 0 deletions
diff --git a/glcpp/Makefile b/glcpp/Makefile
new file mode 100644
index 0000000000..3fb44ac3b2
--- /dev/null
+++ b/glcpp/Makefile
@@ -0,0 +1,25 @@
+# Debug symbols by default, but let the user avoid that with something
+# like "make CFLAGS=-O2"
+CFLAGS = -g
+
+# But we use 'override' here so that "make CFLAGS=-O2" will still have
+# all the warnings enabled.
+override CFLAGS += -Wall -Wextra -Wwrite-strings -Wswitch-enum -Wno-unused
+
+glcpp: glcpp.o glcpp-lex.o glcpp-parse.o hash_table.o xtalloc.o
+ gcc -o $@ -ltalloc -lm $^
+
+%.c %.h: %.y
+ bison --debug --defines=$*.h --output=$*.c $^
+
+%.c: %.l
+ flex --prefix=glcpp_ --outfile=$@ $<
+
+glcpp-lex.c: glcpp-parse.h
+
+test: glcpp
+ @(cd tests; ./glcpp-test)
+
+clean:
+ rm -f glcpp glcpp-lex.c glcpp-parse.c *.o *~
+ rm -f tests/*.out tests/*~