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