]> Pileus Git - lackey/blob - src/makefile
afa11157ac7f83ea327ec01277ffa7576a0cbbf9
[lackey] / src / makefile
1 # Settings
2 CC       = gcc
3 CFLAGS   = -Wall --std=c99
4 CPPFLAGS = -I.
5 LDFLAGS  = -lncursesw
6 PROG     = acal
7 TEST     = test
8
9 # Views
10 SOURCES  = main screen util
11 TESTS    = test util
12 VIEWS    = day week month year todo notes settings help
13
14 default: run-$(PROG)
15
16 # Targets
17 all: $(PROG) $(TEST)
18
19 run-$(PROG): $(PROG)
20         @urxvt -e ./$<
21         @cat acal.log
22
23 run-$(TEST): $(TEST)
24         ./$<
25
26 clean:
27         rm -f *.o view/*.o $(PROG) $(TEST)
28
29 # Rules
30 $(PROG): $(SOURCES:%=%.o) $(VIEWS:%=view/%.o)
31         $(CC) $(CLFAGS) -o $@ $+ $(LDFLAGS)
32
33 $(TEST): $(TESTS:%=%.o) $(VIEWS:%=view/%.o)
34         $(CC) $(CLFAGS) -o $@ $+ $(LDFLAGS)
35
36 %.o: %.c $(SOURCES:%=%.h) makefile
37         $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<