X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=templates%2FMakefile;h=8f7f4fec34ad76b85d61f20821f18a1d3ca9a3b2;hb=5ad312bedede83f63de5e69ef5e5ddff46484eae;hp=12433519eefef9bbef1c74729a1df11fa8ab34f4;hpb=638ccfdf0eeabf3d985426308b2a82db6207ae28;p=git.git diff --git a/templates/Makefile b/templates/Makefile index 12433519..8f7f4fec 100644 --- a/templates/Makefile +++ b/templates/Makefile @@ -1,19 +1,48 @@ -# make +# make and install sample templates -INSTALL=install -prefix=$(HOME) -etcdir=$(prefix)/etc -etcgitdir=$(etcdir)/git-core -templatedir=$(etcgitdir)/templates -# dest= +INSTALL ?= install +TAR ?= tar +prefix ?= $(HOME) +template_dir ?= $(prefix)/share/git-core/templates/ +# DESTDIR= + +# 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. + +bpsrc = $(filter-out %~,$(wildcard *--*)) +boilerplates.made : $(bpsrc) + ls *--* 2>/dev/null | \ + while read boilerplate; \ + do \ + case "$$boilerplate" in *~) continue ;; esac && \ + dst=`echo "$$boilerplate" | sed -e 's|^this|.|;s|--|/|g'` && \ + dir=`expr "$$dst" : '\(.*\)/'` && \ + mkdir -p blt/$$dir && \ + case "$$boilerplate" in \ + *--) ;; \ + *) cp $$boilerplate blt/$$dst ;; \ + esac || exit; \ + done || exit + date >$@ + +# If you need build-tailored templates, build them into blt/ +# directory yourself here. +custom: + : no custom templates yet -all: clean: + rm -rf blt boilerplates.made -install: - $(INSTALL) -d -m755 $(dest)$(templatedir)/hooks/ - $(foreach s,$(wildcard hooks--*),\ - $(INSTALL) -m644 $s \ - $(dest)$(templatedir)/hooks/$(patsubst hooks--%,%,$s);) - $(INSTALL) -d -m755 $(dest)$(templatedir)/info - $(INSTALL) -d -m755 $(dest)$(templatedir)/branches +install: all + $(INSTALL) -d -m755 $(call shellquote,$(DESTDIR)$(template_dir)) + (cd blt && $(TAR) cf - .) | \ + (cd $(call shellquote,$(DESTDIR)$(template_dir)) && $(TAR) xf -)