X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=makefile;h=5dde712bc6c3a0af533208cf76b0356f56e421b2;hb=3d202351108e537539e8579f62dccd46760c1265;hp=be2232c267e1397295971a5556cbbcd129b3b85a;hpb=9d6df8f874cef59df16086c71031db2ba0267d3a;p=lackey diff --git a/makefile b/makefile index be2232c..5dde712 100644 --- a/makefile +++ b/makefile @@ -1,38 +1,63 @@ +# lackey - curses calendar program +# See COPYING file for license details. + -include config.mk # Settings -CC ?= gcc -CFLAGS ?= -Wall --std=c99 -CPPFLAGS ?= -Isrc -LDFLAGS ?= -lncursesw -lical +VERSION ?= 0.1-rc1 +PREFIX ?= /usr/local +MANPREFIX ?= $(PREFIX)/share/man + +# Compiler +GCC ?= gcc +CFLAGS ?= -Wall --std=c99 +CPPFLAGS ?= -Isrc +LDFLAGS ?= -lncursesw -lical # Sources -PROG = lackey -PROG_SRC = main view date cal util -TEST = test -TEST_SRC = test date util -VIEWS = day week month year events todo settings help -CALS = dummy ical +PROG ?= lackey +PROG_SRC ?= main view date cal conf util +TEST ?= test +TEST_SRC ?= test date cal conf util +VIEWS ?= day week month year events todo settings help edit +CALS ?= dummy ical + +# For ncursesw +CPPFLAGS += $(strip $(shell pkg-config --cflags ncursesw)) # Targets -all: $(PROG) $(TEST) +all: $(PROG) + +clean: + rm -f src/*.o views/*.o cals/*.o $(PROG) $(TEST) -run-$(PROG): $(PROG) - @urxvt -e ./$< - @cat /tmp/lackey.log +dist: + tar -czf $(PROG)-$(VERSION).tar.gz --transform s::$(PROG)-$(VERSION)/: \ + README COPYING config.mk.example makefile */*.txt */*.1 */*.c */*.h -run-$(TEST): $(TEST) - ./$< +install: all + install -m 755 -D $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG) + install -m 644 -D doc/$(PROG).1 $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1 -clean: - rm -f src/*.o views/*.o cals/*.o $(PROG) $(TEST) +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG) + rm -f $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1 + +memcheck: $(PROG) + valgrind --log-file=valgrind.out \ + --track-origins=yes \ + --leak-check=full \ + --leak-resolution=high \ + ./$(PROG) # Rules $(PROG): $(PROG_SRC:%=src/%.o) $(VIEWS:%=views/%.o) $(CALS:%=cals/%.o) - $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS) + $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS) $(TEST): $(TEST_SRC:%=src/%.o) $(CALS:%=cals/%.o) - $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS) + $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS) + +%.o: %.c $(wildcard src/*.h makefile config.mk) + $(GCC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< -%.o: %.c $(wildcard src/*.h) makefile - $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< +.PHONY: all clean dist install uninstall