]> Pileus Git - lackey/blob - makefile
Start on events and calendars
[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 event util
13 TESTS     = test util
14 VIEWS     = day week month year todo notes settings help
15 CALS      = dummy
16
17 # Targets
18 all: $(PROG) $(TEST)
19
20 run-$(PROG): $(PROG)
21         @urxvt -e ./$<
22         @cat /tmp/lackey.log
23
24 run-$(TEST): $(TEST)
25         ./$<
26
27 clean:
28         rm -f src/*.o view/*.o $(PROG) $(TEST) 
29
30 # Rules
31 $(PROG): $(SOURCES:%=src/%.o) $(VIEWS:%=view/%.o) $(CALS:%=cal/%.o)
32         $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
33
34 $(TEST): $(TESTS:%=src/%.o) $(VIEWS:%=view/%.o) $(CALS:%=cal/%.o)
35         $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
36
37 %.o: %.c $(SOURCES:%=src/%.h) makefile
38         $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<