| # make and install sample templates | |
| 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 | |
| clean: | |
| rm -rf blt boilerplates.made | |
| install: all | |
| $(INSTALL) -d -m755 $(call shellquote,$(DESTDIR)$(template_dir)) | |
| (cd blt && $(TAR) cf - .) | \ | |
| (cd $(call shellquote,$(DESTDIR)$(template_dir)) && $(TAR) xf -) |