Files
git/templates/Makefile
Johannes Sixt 13cae476a6 templates: Mark only hooks as not-executable.
Previously all files in the template directory were investigated whether
they are scripts. But actually, we only want to disable the hooks, not any
other scripts (but currently there are no others anyway).

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
2008-03-13 13:29:10 +01:00

55 lines
1.5 KiB
Makefile

# make and install sample templates
ifndef V
QUIET = @
endif
INSTALL ?= install
TAR ?= tar
RM ?= rm -f
prefix ?= $(HOME)
template_instdir ?= $(prefix)/share/git-core/templates
# DESTDIR=
# set NOEXECTEMPL to non-empty to change the names of hook scripts
# so that the tools will not find them
# Shell quote (do not use $(call) to accommodate ancient setups);
DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
template_instdir_SQ = $(subst ','\'',$(template_instdir))
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)
$(QUIET)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" : '\(.*\)/'` && \
$(INSTALL) -d -m 755 blt/$$dir && \
case "$$boilerplate" in \
*--) ;; \
hooks--*) cp -p $$boilerplate blt/$${dst}$(NOEXECTEMPL) ;; \
*) cp -p $$boilerplate blt/$$dst ;; \
esac || exit; \
done && \
date >$@
# If you need build-tailored templates, build them into blt/
# directory yourself here.
custom:
$(QUIET): no custom templates yet
clean:
$(RM) -r blt boilerplates.made
install: all
$(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(template_instdir_SQ)'
(cd blt && $(TAR) cf - .) | \
(cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && umask 022 && $(TAR) xf -)