]> oss.titaniummirror.com Git - ovzbpc.git/blobdiff - Makefile
Add makefile to 'build' version into scripts
[ovzbpc.git] / Makefile
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..09b8630
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,38 @@
+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 $@; \
+               echo "$@"; \
+       fi
+
+clean:
+       @rm -rf $(INSTALLDIR)
+
+.PHONY: all install $(INSTALLDIR) clean FORCE