chiark / gitweb /
WIP entirely new git approach with config parsers
[userv-utils.git] / git-daemon / Makefile
index 07969cd014346335d7f5a1ef4e6605c8691f5cf7..2d24274af9ae26b2346b7fbffe1b18281938b1b8 100644 (file)
@@ -1,20 +1,29 @@
 # 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)