X-Git-Url: https://git.octo.it/?p=git.git;a=blobdiff_plain;f=templates%2FMakefile;h=8f7f4fec34ad76b85d61f20821f18a1d3ca9a3b2;hp=776e6c80097ff5e56659b36c8bf22194c8b9dace;hb=HEAD;hpb=9d34c29db39bdb5c2443475dd6a24cfc5c2c9e37 diff --git a/templates/Makefile b/templates/Makefile index 776e6c80..8f7f4fec 100644 --- a/templates/Makefile +++ b/templates/Makefile @@ -1,17 +1,25 @@ # make and install sample templates -INSTALL=install -prefix=$(HOME) -template_dir=$(prefix)/share/git-core/templates/ +INSTALL ?= install +TAR ?= tar +prefix ?= $(HOME) +template_dir ?= $(prefix)/share/git-core/templates/ # DESTDIR= -all: boilerplates custom - find blt +# Shell quote; +# Result of this needs to be placed inside '' +shq = $(subst ','\'',$(1)) +# This has surrounding '' +shellquote = '$(call shq,$(1))' + +all: boilerplates.made custom # Put templates that can be copied straight from the source # in a file direc--tory--file in the source. They will be # just copied to the destination. -boilerplates: + +bpsrc = $(filter-out %~,$(wildcard *--*)) +boilerplates.made : $(bpsrc) ls *--* 2>/dev/null | \ while read boilerplate; \ do \ @@ -24,6 +32,7 @@ boilerplates: *) cp $$boilerplate blt/$$dst ;; \ esac || exit; \ done || exit + date >$@ # If you need build-tailored templates, build them into blt/ # directory yourself here. @@ -31,8 +40,9 @@ custom: : no custom templates yet clean: - rm -rf blt + rm -rf blt boilerplates.made install: all - $(INSTALL) -d -m755 $(DESTDIR)$(template_dir) - tar Ccf blt - . | tar Cxf $(DESTDIR)$(template_dir) - + $(INSTALL) -d -m755 $(call shellquote,$(DESTDIR)$(template_dir)) + (cd blt && $(TAR) cf - .) | \ + (cd $(call shellquote,$(DESTDIR)$(template_dir)) && $(TAR) xf -)