1 # GNU Makefile for archives2git
3 PACKAGE_NAME
= archives2git
4 PACKAGE_TARNAME
= archives2git
6 # Get the version via git or from the VERSION file or from the project
8 VERSION
= $(shell test -x version.sh
&& .
/version.sh
$(PACKAGE_TARNAME
) \
9 || echo
"unknown_version")
10 # Allow either to be overwritten by setting DIST_VERSION on the command line.
11 PACKAGE_VERSION
= $(VERSION
)
12 # Remove the _g<SHA1> part from the $VERSION
13 RPM_VERSION
= $(shell echo
$(VERSION
) |
$(SED
) -e
's/_g[0-9a-z]\+//')
15 prefix = $(HOME
)/.local
16 bindir = $(prefix)/bin
17 datarootdir
= $(prefix)/share
18 docdir
= $(datarootdir
)/doc
/$(PACKAGE_TARNAME
)
19 mandir = $(datarootdir
)/man
20 # DESTDIR = # distributors set this on the command line
27 TAR_FLAGS
= --owner root
--group root
--mode a
+rX
,o-w
--mtime .
30 POD2MAN_FLAGS
= --utf8
-c
"" -r
"$(PACKAGE_NAME) $(VERSION)"
34 ASCIIDOC_FLAGS
= -apackagename
="$(PACKAGE_NAME)" -aversion
="$(VERSION)"
36 SHA512SUM ?
= sha512sum
38 SCRIPTS
= archives2git dsc2git
39 MANDOC
= $(SCRIPTS
:%=%.1)
40 TEXTDOC
= $(SCRIPTS
:%=%.1.txt
)
41 HTMLDOC
= $(SCRIPTS
:%=%.1.html
) README.html NEWS.html
42 ALLDOC
= $(MANDOC
) $(TEXTDOC
) $(HTMLDOC
)
43 RELEASEDOC
= $(MANDOC
) $(HTMLDOC
)
45 TARNAME
= $(PACKAGE_TARNAME
)-$(RPM_VERSION
)
47 .PHONY
: .help
all clean build doc doc-txt doc-man doc-html
dist \
53 @echo
"Useful targets:"
54 @echo
" doc doc-man doc-html doc-txt clean distclean dist"
55 @echo
" install install-doc"
58 $(RM
) *.1.helpm
*.pod pod2htmd.tmp pod2htmi.tmp
*~ .
*~
59 $(RM
) $(PACKAGE_TARNAME
)-*.
tar.gz
*
61 $(RM
) ChangeLog
$(ALLDOC
)
63 install: build install-doc
64 $(MKDIR
) -p
$(DESTDIR
)$(bindir)
65 $(INSTALL
) -m
755 $(SCRIPTS
) $(DESTDIR
)$(bindir)/
67 $(MKDIR
) -p
$(DESTDIR
)$(mandir)/man1
68 $(INSTALL
) -m
644 $(MANDOC
) $(DESTDIR
)$(mandir)/man1
/
76 $(TARNAME
).
tar: ChangeLog
77 $(MKDIR
) -p
$(TARNAME
)
78 echo
$(VERSION
) > $(TARNAME
)/VERSION
79 $(CP
) -p ChangeLog
$(TARNAME
)
80 git archive
--format
=tar --prefix=$(TARNAME
)/ HEAD
> $(TARNAME
).
tar
81 $(TAR
) $(TAR_FLAGS
) -rf
$(TARNAME
).
tar $(TARNAME
)
83 dist: $(TARNAME
).
tar.gz
84 $(TARNAME
).
tar.gz
: $(TARNAME
).
tar $(RELEASEDOC
)
86 $(CP
) -p
-P
$(RELEASEDOC
) $(TARNAME
)
87 $(TAR
) $(TAR_FLAGS
) -rf
$(TARNAME
).
tar $(TARNAME
)
89 gzip
-f
-9 $(TARNAME
).
tar
90 $(MD5SUM
) $(TARNAME
).
tar.gz
> $(TARNAME
).
tar.gz.md5
91 $(SHA512SUM
) $(TARNAME
).
tar.gz
> $(TARNAME
).
tar.gz.sha512
93 ( echo
"# $@ for $(PACKAGE_NAME) - automatically generated from the VCS's history"; \
95 .
/gitchangelog.sh
--tags --tag-pattern
'version\/[^\n]*' \
96 -- - --date-order
--first-parent
) \
97 |
$(SED
) 's/^\[version/\f\[version/' \
100 README.html
: README asciidoc.conf
101 $(ASCIIDOC
) $(ASCIIDOC_FLAGS
) -b xhtml11
-d article
-a readme
$<
102 NEWS.html
: NEWS asciidoc.conf
103 $(ASCIIDOC
) $(ASCIIDOC_FLAGS
) -b xhtml11
-d article
$<
111 $(POD2MAN
) $(POD2MAN_FLAGS
) --section
1 $< >$@
113 $(POD2TEXT
) --utf8
$< >$@
115 $(POD2HTML
) --noindex
--title
"$(shell printf "%s
(1)" "$*" | LC_ALL=C tr a-z A-Z)" \