chiark / gitweb /
Attempt at a good package
[userv-utils.git] / git-daemon / Makefile
1 # Makefile for userv-git-daemon
2 #
3 # This was written by Tony Finch <dot@dotat.at> and subsequently
4 # heavily modified by Ian Jackson <ijackson@chiark.greenend.org.uk>
5 # You may do anything with it, at your own risk.
6 # http://creativecommons.org/publicdomain/zero/1.0/
7
8 include ../settings.make
9
10 gituser=        git
11 varloggit=      $(varlog)/git
12
13 TARGETS=        git-upload-pack inetd.conf git-daemon git-service logrotate
14
15 SUBSTVARS=      libuserv etcuserv varloggit gituser
16
17 CONFIGS=        $(services)/git-upload-pack \
18                 $(etcuserv)/git-urlmap \
19                 $(etcdir)/logrotate.d/userv-git-daemon
20
21 all:            $(TARGETS)
22
23 sedscript:      Makefile read-urlmap
24                 echo >$@.new '$(foreach f, $(SUBSTVARS), s,@$f@,$($f),g; )'
25                 echo >>$@.new '/@@READ_URLMAP@@/c\'
26                 perl >>$@.new -pe 's/\\/\\\\/g; s/$$/\\/' <read-urlmap
27                 mv -f $@.new $@
28
29 %:              %.in sedscript
30                 set -e; \
31                 sed -f sedscript <$< >$@.new; \
32                 if test -x $<; then chmod +x $@.new; fi; \
33                 mv -f $@.new $@
34
35 install:        all
36                 mkdir -p $(libuserv) $(etcuserv) $(services) \
37                         $(etcdir)/logrotate.d
38                 install -d -o $(gituser) -g adm $(varloggit)
39                 cp git-daemon git-service $(libuserv)
40                 cp git-upload-pack $(services)/git-upload-pack:new
41                 cp git-urlmap $(etcuserv)/git-urlmap:new
42                 cp logrotate $(etcdir)/logrotate.d/userv-git-daemon:new
43                 set -e; for f in $(CONFIGS); do \
44                         if test -f $$f; then continue; fi; \
45                         mv $$f:new $$f; \
46                 done
47
48 mkdocdir:
49                 mkdir -p $(docdir)/userv-git-daemon
50
51 install-docs:   mkdocdir
52                 cp README $(docdir)/userv-git-daemon/README
53
54 install-examples: all mkdocdir
55                 cp inetd.conf $(docdir)/userv-git-daemon/inetd.conf
56
57 distclean clean:
58                 rm -f $(TARGETS) *~
59
60 # end