INSTALLDIR = build # version VERSION := $(shell git describe --tags --always 2>/dev/null) ifneq (,$(VERSION)) ifneq (,$(shell git diff-index --name-only HEAD 2>/dev/null)) VERSION := $(VERSION)-dirty endif else $(error: Run make from a repository checkout) endif SCRIPTS = bpcbackup bpcbackup.crontab bpcdump esata BackupPC_ovz \ BackupPC_verifyPool SCRIPTFILES = $(SCRIPTS:%=$(INSTALLDIR)/%) all: install install: $(INSTALLDIR) $(SCRIPTFILES) @echo "Install dir: $(INSTALLDIR)" @echo "Version: $(VERSION)" $(INSTALLDIR): @mkdir -p $(INSTALLDIR) $(SCRIPTFILES):$(INSTALLDIR)/%: % FORCE @sed -e 's|__appVersion__|$(VERSION)|g' < $< > $@-tmp @if diff -q $@-tmp $@ >/dev/null 2>&1; then \ rm -f $@-tmp; \ else \ mv $@-tmp $@; \ chmod 755 $@; \ echo "$@"; \ fi clean: @rm -rf $(INSTALLDIR) .PHONY: all install $(INSTALLDIR) clean FORCE