# Makefile for userv-git-daemon
#
-# This was written by Tony Finch <dot@dotat.at>
+# This was written by Tony Finch <dot@dotat.at> and subsequently
+# heavily modified by Ian Jackson <ijackson@chiark.greenend.org.uk>
# You may do anything with it, at your own risk.
# http://creativecommons.org/publicdomain/zero/1.0/
include ../settings.make
-TARGETS= git-upload-pack inetd.conf
+TARGETS= git-upload-pack inetd.conf git-daemon git-service
SUBSTVARS= libuserv etcuserv
-SEDSCRIPT= '$(foreach f, $(SUBSTVARS), s,@$f@,$($f),g; )'
all: $(TARGETS)
-%: %.in
- sed $(SEDSCRIPT) <$< >$@.new && mv -f $@.new $@
+sedscript: Makefile
+ echo >$@.new '$(foreach f, $(SUBSTVARS), s,@$f@,$($f),g; )'
+ echo >>$@.new '/@@READ_URLMAP@@/c\'
+ perl >>$@.new -pe 's/$$/\\/' <read-urlmap
+ mv -f $@.new $@
+
+%: %.in sedscript
+ set -e; \
+ sed -f sedscript <$< >$@.new; \
+ if test -x $<; then chmod +x $@.new; fi; \
+ mv -f $@.new $@
install: all
mkdir -p $(libuserv) $(etcuserv) $(services)