96cda0b106
The native install on some platforms (namely IRIX 6.5) treats non-absolute paths as being relative to the root directory rather than relative to the current directory. Work around this by avoiding install in this case since it is unnecessary, and instead depend on the local umask setting and use mkdir. Tested-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
52 lines
1.3 KiB
Makefile
52 lines
1.3 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=
|
|
|
|
# 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)umask 022 && 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 -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) xfo -)
|