]> Pileus Git - lackey/blobdiff - makefile
Rename CC variable to GCC
[lackey] / makefile
index 8512942fd2a0d8edfae2e4e772d1720d9fb9ac9b..9996deebf66058a1d41d60403e06d19def156587 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,37 +1,53 @@
+# lackey - curses calendar program
+# See COPYING file for copyright and license details.
+
 -include config.mk
 
 # Settings
-CC       ?= gcc
-CFLAGS   ?= -Wall --std=c99
-CPPFLAGS ?= -Isrc
-LDFLAGS  ?= -lncursesw
+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
-TEST      = test
-SOURCES   = main screen util
-TESTS     = test util
-VIEWS     = day week month year todo notes settings help
+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
 
 # Targets
-all: $(PROG) $(TEST)
+all: $(PROG)
+
+clean:
+       rm -f src/*.o views/*.o cals/*.o $(PROG) $(TEST) 
 
-run-$(PROG): $(PROG)
-       @urxvt -e ./$<
-       @cat 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 view/*.o $(PROG) $(TEST) 
+uninstall:
+       rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG)
+       rm -f $(DESTDIR)$(MANPREFIX)/man1/$(PROG).1
 
 # Rules
-$(PROG): $(SOURCES:%=src/%.o) $(VIEWS:%=view/%.o)
-       $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+$(PROG): $(PROG_SRC:%=src/%.o) $(VIEWS:%=views/%.o) $(CALS:%=cals/%.o)
+       $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+
+$(TEST): $(TEST_SRC:%=src/%.o) $(CALS:%=cals/%.o)
+       $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
 
-$(TEST): $(TESTS:%=src/%.o) $(VIEWS:%=view/%.o)
-       $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+%.o: %.c $(wildcard src/*.h) makefile
+       $(GCC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
 
-%.o: %.c $(SOURCES:%=src/%.h) makefile
-       $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+.PHONY: all clean dist install uninstall