]> pd.if.org Git - lice/blob - Makefile
autocommit for files dated 2014-11-17 20:15:26
[lice] / Makefile
1 CC      ?= clang
2 CFLAGS  += -Wall -Wextra -Wno-missing-field-initializers -O3 -std=c99 -MD -DLICE_TARGET_AMD64
3 LDFLAGS +=
4
5 LICESOURCES = ast.c parse.c lice.c gen.c gen_amd64.c lexer.c util.c conv.c decl.c init.c list.c opt.c
6 ARGSSOURCES = misc/argsgen.c util.c list.c
7 TESTSOURCES = test.c util.c list.c
8 LICEOBJECTS = $(LICESOURCES:.c=.o)
9 TESTOBJECTS = $(TESTSOURCES:.c=.o)
10 ARGSOBJECTS = $(ARGSSOURCES:.c=.o)
11 LICEDEPENDS = $(LICESOURCES:.c=.d)
12 TESTDEPENDS = $(TESTSOURCES:.c=.d)
13 ARGSDEPENDS = $(ARGSSOURCES:.c=.d)
14 LICEBIN     = lice
15 TESTBIN     = testsuite
16 ARGSBIN     = argsgenerator
17
18 all: $(LICEBIN) $(TESTBIN)
19
20 $(LICEBIN): $(LICEOBJECTS)
21         $(CC) $(LDFLAGS) $(LICEOBJECTS) -o $@
22
23 $(TESTBIN): $(TESTOBJECTS)
24         $(CC) $(LDFLAGS) $(TESTOBJECTS) -o $@
25
26 $(ARGSBIN): $(ARGSOBJECTS)
27         $(CC) $(LDFLAGS) $(ARGSOBJECTS) -o $@
28
29 c.o:
30         $(CC) -c $(CFLAGS) $< -o $@
31
32 args: $(ARGSBIN)
33         @./$(ARGSBIN)
34
35 clean:
36         rm -f $(LICEOBJECTS)
37         rm -f $(TESTOBJECTS)
38         rm -f $(LICEDEPENDS)
39         rm -f $(TESTDEPENDS)
40         rm -f $(ARGSDEPENDS)
41         rm -f $(LICEBIN)
42         rm -f $(TESTBIN)
43         rm -f $(ARGSBIN)
44
45 test: $(LICEBIN) $(TESTBIN)
46         @./$(TESTBIN)