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.
12 VERSION
= $(DIST_VERSION
)
14 PACKAGE_VERSION
= $(VERSION
)
15 # Remove the _g<SHA1> part from the $VERSION
16 RPM_VERSION
= $(shell echo
$(VERSION
) |
$(SED
) -e
's/_g[0-9a-z]\+//')
18 prefix = $(HOME
)/.local
19 bindir = $(prefix)/bin
20 datarootdir
= $(prefix)/share
21 docdir
= $(datarootdir
)/doc
/$(PACKAGE_TARNAME
)
22 mandir = $(datarootdir
)/man
23 # DESTDIR = # distributors set this on the command line
30 TAR_FLAGS
= --owner root
--group root
--mode a
+rX
,o-w
--mtime .
33 POD2MAN_FLAGS
= --utf8
-c
"" -r
"$(PACKAGE_NAME) $(VERSION)"
37 ASCIIDOC_FLAGS
= -apackagename
="$(PACKAGE_NAME)" -aversion
="$(VERSION)"
39 SHA512SUM ?
= sha512sum
41 SCRIPTS
= archives2git
42 MANDOC
= $(SCRIPTS
:%=%.1)
43 TEXTDOC
= $(SCRIPTS
:%=%.1.txt
)
44 HTMLDOC
= $(SCRIPTS
:%=%.1.html
) README.html
45 ALLDOC
= $(MANDOC
) $(TEXTDOC
) $(HTMLDOC
)
46 RELEASEDOC
= $(MANDOC
) $(HTMLDOC
)
48 TARNAME
= $(PACKAGE_TARNAME
)-$(RPM_VERSION
)
50 .PHONY
: .help
all clean build doc
dist install install-doc
55 @echo
"Useful targets:"
56 @echo
" doc clean distclean dist install install-doc"
59 $(RM
) *.1.helpm
*.pod pod2htmd.tmp pod2htmi.tmp
*~ .
*~
60 $(RM
) $(PACKAGE_TARNAME
)-*.
tar.gz
*
62 $(RM
) ChangeLog
$(ALLDOC
)
64 install: build install-doc
65 $(MKDIR
) -p
$(DESTDIR
)$(bindir)
66 $(INSTALL
) -m
755 $(SCRIPTS
) $(DESTDIR
)$(bindir)/
68 $(MKDIR
) -p
$(DESTDIR
)$(mandir)/man1
69 $(INSTALL
) -m
644 $(MANDOC
) $(DESTDIR
)$(mandir)/man1
/
74 $(TARNAME
).
tar: ChangeLog
75 $(MKDIR
) -p
$(TARNAME
)
76 echo
$(VERSION
) > $(TARNAME
)/VERSION
77 $(CP
) -p ChangeLog
$(TARNAME
)
78 git archive
--format
=tar --prefix=$(TARNAME
)/ HEAD
> $(TARNAME
).
tar
79 $(TAR
) $(TAR_FLAGS
) -rf
$(TARNAME
).
tar $(TARNAME
)
81 dist: $(TARNAME
).
tar.gz
82 $(TARNAME
).
tar.gz
: $(TARNAME
).
tar $(RELEASEDOC
)
84 $(CP
) -p
-P
$(RELEASEDOC
) $(TARNAME
)
85 $(TAR
) $(TAR_FLAGS
) -rf
$(TARNAME
).
tar $(TARNAME
)
87 gzip
-f
-9 $(TARNAME
).
tar
88 $(MD5SUM
) $(TARNAME
).
tar.gz
> $(TARNAME
).
tar.gz.md5
89 $(SHA512SUM
) $(TARNAME
).
tar.gz
> $(TARNAME
).
tar.gz.sha512
91 ( echo
"# $@ for $(PACKAGE_NAME) - automatically generated from the VCS's history"; \
93 .
/gitchangelog.sh
--tags --tag-pattern
'version\/[^\n]*' \
94 -- - --date-order
--first-parent
) \
95 |
$(SED
) 's/^\[version/\f\[version/' \
98 README.html
: README asciidoc.conf
99 $(ASCIIDOC
) $(ASCIIDOC_FLAGS
) -b xhtml11
-d article
-a readme
$<
107 $(POD2MAN
) $(POD2MAN_FLAGS
) --section
1 $< >$@
109 $(POD2TEXT
) --utf8
$< >$@
111 $(POD2HTML
) --noindex
--title
"$(shell printf "%s
(1)" "$*" | LC_ALL=C tr a-z A-Z)" \