contacts: add a Makefile to generate docs and install
Also add a gitignore file for generated files. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Sebastian Schuberth committed
Oct 15, 2014 at 20:50 UTC
2ea40f01c51b7a3e0e5ab32dbacfb1c38e852631
2 files changed
+74
contrib/contacts/.gitignore
new
+3
@@ -0,0 +1,3 @@
1
+git-contacts.1
2
+git-contacts.html
3
+git-contacts.xml
contrib/contacts/Makefile
new
+71
@@ -0,0 +1,71 @@
1
+# The default target of this Makefile is...
2
+all::
3
+
4
+-include ../../config.mak.autogen
5
+-include ../../config.mak
6
+
7
+prefix ?= /usr/local
8
+gitexecdir ?= $(prefix)/libexec/git-core
9
+mandir ?= $(prefix)/share/man
10
+man1dir ?= $(mandir)/man1
11
+htmldir ?= $(prefix)/share/doc/git-doc
12
+
13
+../../GIT-VERSION-FILE: FORCE
14
+ $(MAKE) -C ../../ GIT-VERSION-FILE
15
+
16
+-include ../../GIT-VERSION-FILE
17
+
18
+# this should be set to a 'standard' bsd-type install program
19
+INSTALL ?= install
20
+RM ?= rm -f
21
+
22
+ASCIIDOC = asciidoc
23
+XMLTO = xmlto
24
+
25
+ifndef SHELL_PATH
26
+ SHELL_PATH = /bin/sh
27
+endif
28
+SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
29
+
30
+ASCIIDOC_CONF = ../../Documentation/asciidoc.conf
31
+MANPAGE_XSL = ../../Documentation/manpage-normal.xsl
32
+
33
+GIT_CONTACTS := git-contacts
34
+
35
+GIT_CONTACTS_DOC := git-contacts.1
36
+GIT_CONTACTS_XML := git-contacts.xml
37
+GIT_CONTACTS_TXT := git-contacts.txt
38
+GIT_CONTACTS_HTML := git-contacts.html
39
+
40
+doc: $(GIT_CONTACTS_DOC) $(GIT_CONTACTS_HTML)
41
+
42
+install: $(GIT_CONTACTS)
43
+ $(INSTALL) -d -m 755 $(DESTDIR)$(gitexecdir)
44
+ $(INSTALL) -m 755 $(GIT_CONTACTS) $(DESTDIR)$(gitexecdir)
45
+
46
+install-doc: install-man install-html
47
+
48
+install-man: $(GIT_CONTACTS_DOC)
49
+ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
50
+ $(INSTALL) -m 644 $^ $(DESTDIR)$(man1dir)
51
+
52
+install-html: $(GIT_CONTACTS_HTML)
53
+ $(INSTALL) -d -m 755 $(DESTDIR)$(htmldir)
54
+ $(INSTALL) -m 644 $^ $(DESTDIR)$(htmldir)
55
+
56
+$(GIT_CONTACTS_DOC): $(GIT_CONTACTS_XML)
57
+ $(XMLTO) -m $(MANPAGE_XSL) man $^
58
+
59
+$(GIT_CONTACTS_XML): $(GIT_CONTACTS_TXT)
60
+ $(ASCIIDOC) -b docbook -d manpage -f $(ASCIIDOC_CONF) \
61
+ -agit_version=$(GIT_VERSION) $^
62
+
63
+$(GIT_CONTACTS_HTML): $(GIT_CONTACTS_TXT)
64
+ $(ASCIIDOC) -b xhtml11 -d manpage -f $(ASCIIDOC_CONF) \
65
+ -agit_version=$(GIT_VERSION) $^
66
+
67
+clean:
68
+ $(RM) $(GIT_CONTACTS)
69
+ $(RM) *.xml *.html *.1
70
+
71
+.PHONY: FORCE