]> Pileus Git - ~andy/ct/blob - makefile
update knot
[~andy/ct] / makefile
1 # Settings
2 PROG     = ct
3 CC       = gcc
4 YACC     = bison
5 LEX      = flex
6
7 CFLAGS   = -Wall -g --std=c99
8 CPPFLAGS = $(shell pkg-config --cflags glib-2.0)
9 LDFLAGS  = $(shell pkg-config --libs   glib-2.0)
10
11 # Targets
12 default: test
13
14 all: $(PROG)
15
16 test: $(PROG)
17         ./$(PROG) example/html.ct
18
19 clean:
20         rm -f $(PROG) *.o *.a parse.h parse.c scan.c
21
22 # Rules
23 $(PROG): ct.o parse.o scan.o
24         $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
25
26 %.o: %.c parse.h
27         $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
28
29 %.c: %.l parse.h
30         $(LEX) -o $@ $<
31
32 %.c %.h: %.y
33         $(YACC) -d -o $*.c $*.y
34
35 .SECONDARY: