Codebase list commit-patch / HEAD Makefile
HEAD

Tree @HEAD (Download .tar.gz)

Makefile @HEADraw · history · blame

VERSION := $(shell perl -ne '/VERSION\s*=\s*'"'(.*)'"'/ and print "$$1"' commit-patch)

BIN = commit-patch commit-partial
MAN = commit-patch.1 commit-partial.1
ELISP = commit-patch-buffer.el
DOC = commit-patch.html README.md COPYING Changes
ALL = $(BIN) $(MAN) $(ELISP) $(DOC)

all: $(ALL)

commit-patch.fat: commit-patch
	carton exec fatpack pack $< > $@.new || { rm -f $@.new; false; }
	mv -f $@.new $@
	chmod +x $@

commit-patch.1: commit-patch
	pod2man -c "User Commands" $< > $@

commit-patch.html: commit-patch
	pod2html --title="commit-patch Documentation" $< > $@

release: commit-patch-$(VERSION).tar.gz

commit-patch-$(VERSION).tar.gz: $(ALL) Makefile commit-patch.fat
	if ! git diff --quiet -- $^; then tput setab 1; tput setaf 3; /bin/echo -n 'WARNING: Directory is not clean!'; tput sgr0; echo; fi
	mkdir commit-patch-$(VERSION)
	rsync -a $^ commit-patch-$(VERSION)
	mv -f commit-patch-$(VERSION)/commit-patch.fat commit-patch-$(VERSION)/commit-patch
	tar czf commit-patch-$(VERSION).tar.gz commit-patch-$(VERSION)
	rm -rf commit-patch-$(VERSION)

test:
	./test/run-tests
.PHONY: test

PREFIX=/usr/local
LISPDIR=/share/emacs/site-lisp
install: $(ALL)
	mkdir -p "$(PREFIX)/bin"
	mkdir -p "$(PREFIX)/share/man/man1"
	mkdir -p "$(PREFIX)$(LISPDIR)"
	mkdir -p "$(PREFIX)/share/doc/commit-patch"
	cp -a $(BIN)   "$(PREFIX)/bin"
	cp -a $(MAN)   "$(PREFIX)/share/man/man1"
	cp -a $(ELISP) "$(PREFIX)$(LISPDIR)"
	cp -a $(DOC)   "$(PREFIX)/share/doc/commit-patch"