Files
git/templates/Makefile
Johannes Sixt 312749fc46 Fix 'make install' of the repository templates.
In 2d84ffaf0d the path to the template
directory was modified to be relative. However, since this setting is passed
down to templates/Makefile, it installed the templates in the build
directory. This works around the problem by not allowing the installation
directory to be overridable.
2007-05-24 09:18:55 +02:00

57 lines
1.5 KiB
Makefile

# make and install sample templates
ifndef V
QUIET = @
endif
INSTALL ?= install
TAR ?= tar
prefix ?= $(HOME)
template_dir = $(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_dir_SQ = $(subst ','\'',$(template_dir))
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" : '\(.*\)/'` && \
mkdir -p blt/$$dir && \
case "$$boilerplate" in \
*--) ;; \
*) if head -1 $$boilerplate | grep -q '^#!/'; then \
cp $$boilerplate blt/$${dst}$(NOEXECTEMPL); \
else \
cp $$boilerplate blt/$$dst; \
fi ;; \
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 -rf blt boilerplates.made
install: all
$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(template_dir_SQ)'
(cd blt && $(TAR) cf - .) | \
(cd '$(DESTDIR_SQ)$(template_dir_SQ)' && $(TAR) xf -)