1 # lackey - curses calendar program
2 # See COPYING file for license details.
9 MANPREFIX ?= $(PREFIX)/share/man
13 CFLAGS ?= -Wall --std=c99
14 LDFLAGS ?= -lncursesw -lical
18 PROG_SRC ?= main view form date cal args conf util
20 TEST_SRC ?= test form date cal conf util
21 VIEWS ?= day week month year events todo settings help edit
25 views/%.o cals/%.o: CFLAGS += -Isrc
26 src/view.o views/%.o: CFLAGS += $(strip $(shell pkg-config --cflags ncursesw))
27 src/form.o: CFLAGS += $(strip $(shell pkg-config --cflags ncursesw))
33 rm -f src/*.o views/*.o cals/*.o $(PROG) $(TEST)
36 tar -czf $(PROG)-$(VERSION).tar.gz --transform s::$(PROG)-$(VERSION)/: \
37 README COPYING config.mk.example makefile */*.txt */*.1 */*.c */*.h
40 install -m 755 -D $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG)
41 install -m 644 -D doc/$(PROG).1 $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1
44 rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG)
45 rm -f $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1
48 valgrind --log-file=valgrind.out \
51 --leak-resolution=high \
55 $(PROG): $(PROG_SRC:%=src/%.o) $(VIEWS:%=views/%.o) $(CALS:%=cals/%.o)
56 $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
58 $(TEST): $(TEST_SRC:%=src/%.o) $(CALS:%=cals/%.o)
59 $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
61 %.o: %.c $(wildcard src/*.h makefile config.mk)
62 $(GCC) $(CFLAGS) -c -o $@ $<
64 .PHONY: all clean dist install uninstall