]> Pileus Git - ~andy/ct/blobdiff - makefile
Misc updates
[~andy/ct] / makefile
diff --git a/makefile b/makefile
new file mode 100644 (file)
index 0000000..edc6978
--- /dev/null
+++ b/makefile
@@ -0,0 +1,35 @@
+# Settings
+PROG     = ct
+CC       = gcc
+YACC     = bison
+LEX      = flex
+
+CFLAGS   = -Wall -Werror -g --std=c99
+CPPFLAGS = $(shell pkg-config --cflags glib-2.0)
+LDFLAGS  = $(shell pkg-config --libs   glib-2.0)
+
+# Targets
+default: test
+
+all: $(PROG)
+
+test: $(PROG)
+       ./$(PROG) example/html.ct
+
+clean:
+       rm -f $(PROG) *.o *.a parse.h parse.c scan.c
+
+# Rules
+$(PROG): ct.o parse.o scan.o
+       $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+
+%.o: %.c parse.h
+       $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
+%.c: %.l parse.h
+       $(LEX) -o $@ $<
+
+%.c %.h: %.y
+       $(YACC) -d -o $*.c $*.y
+
+.SECONDARY: