1 # Makefile for CDimgtools
3 # Include the settings chosen by the configure script
4 # If it is not found, default values are used
7 prefix ?
= $(HOME
)/.local
8 bindir ?
= $(prefix)/bin
9 datarootdir ?
= $(prefix)/share
10 sysconfdir ?
= $(prefix)/etc
11 docdir ?
= $(datarootdir
)/doc
12 mandir ?
= $(datarootdir
)/man
13 # DESTDIR = # distributors set this on the command line
15 PACKAGE_NAME
= cdimgtools
17 # Get the version via git or from the VERSION file or from the project
19 VERSION
= $(shell test -x version.sh
&& .
/version.sh
$(PACKAGE_NAME
) \
20 || echo
"unknown_version")
21 # Allow either to be overwritten by setting DIST_VERSION on the command line.
23 VERSION
= $(DIST_VERSION
)
26 # Remove the _g<SHA1> part from the $VERSION
27 RPM_VERSION
= $(shell echo
$(VERSION
) | sed
-e
's/_g[0-9a-z]\+//')
28 # Get the release from the spec file
29 RPM_RELEASE
= $(shell sed
-r
-n
-e
's/^Release:[[:space:]]+(.*)%.*$$/\1/p' \
30 $(PACKAGE_NAME
).spec.in
)
33 SCRIPTS
= raw96cdconv nrgtool
35 SOURCE
= README INSTALL COPYING BUGS
36 PERLDOC
= raw96cdconv nrgtool
37 MANDOC
= $(PERLDOC
:%=%.1)
38 HTMLDOC
= $(PERLDOC
:%=%.1.html
) README.html
39 RELEASEDOC
= $(MANDOC
) $(HTMLDOC
)
40 ALLDOC
= $(PERLDOC
:%=%.1.txt
) $(MANDOC
) $(HTMLDOC
)
42 TARNAME
= $(PACKAGE_NAME
)-$(RPM_VERSION
)
51 TAR_FLAGS
= --owner root
--group root
52 RPMBUILD_FLAGS
= --nodeps
# in case we are not on an rpm system
54 AUTORECONF ?
= autoreconf
56 ASCIIDOC_FLAGS
= -aversion
=$(VERSION
) -asysconfdir
=$(sysconfdir
)
62 @echo
"Available targets for $(PACKAGE_NAME) Makefile:"
63 @echo
" .help all configure build clean doc doc-txt doc-man doc-html"
64 @echo
" dist docdist rpm"
65 @echo
" install install-doc install-doc-man install-doc-html distclean"
66 @echo
"Useful variables for $(PACKAGE_NAME) Makefile:"
67 @echo
" prefix DESTDIR"
69 .PHONY
: .help help
all build
clean doc doc-txt doc-man doc-html
dist docdist \
70 rpm
distclean install install-doc install-doc-man install-doc-html
72 build
: $(PROGS
) $(TESTS
)
74 doc-txt
: $(PERLDOC
:%=%.1.txt
)
79 $(MKDIR
) -p
$(DESTDIR
)$(bindir) && \
80 for prog in
$(PROGS
) $(SCRIPTS
); do \
81 $(INSTALL
) -p
-m
0755 "$$prog" "$(DESTDIR)$(bindir)"; \
83 install-doc
: install-doc-man install-doc-html
84 install-doc-man
: doc-man
85 $(MKDIR
) -p
$(DESTDIR
)$(mandir)/man1
86 for doc in
$(MANDOC
); do \
87 sed
's#++SYSCONFDIR++#$(sysconfdir)#' < "$$doc" > "$$doc+"; \
88 $(INSTALL
) -p
-m
0644 "$$doc+" "$(DESTDIR)$(mandir)/man1/$$doc"; \
91 install-doc-html
: doc-html
92 $(MKDIR
) -p
$(DESTDIR
)$(docdir
)/$(PACKAGE_NAME
)
93 for doc in
$(HTMLDOC
); do \
94 sed
's#++SYSCONFDIR++#$(sysconfdir)#' < "$$doc" > "$$doc+"; \
96 (*.html
) $(INSTALL
) -p
-m
0644 "$$doc+" \
97 "$(DESTDIR)$(docdir)/$(PACKAGE_NAME)/$$doc" ;; \
104 $(RM
) $(PACKAGE_NAME
)-*.
tar $(PACKAGE_NAME
)-*.
tar.gz
$(PACKAGE_NAME
)-*.
tar.gz.md5
105 $(RM
) $(PROGS
) $(TESTS
) *.xml pod2htm
*
108 $(RM
) -r autom4te.cache
109 $(RM
) $(ALLDOC
) $(PACKAGE_NAME
).spec aclocal.m4 configure
110 $(RM
) config.h config.log config.make config.status config.h.in
112 $(TARNAME
).
tar: configure
$(PACKAGE_NAME
).spec
113 @
$(MKDIR
) -p
$(TARNAME
) && \
114 echo
$(VERSION
) > $(TARNAME
)/VERSION
&& \
115 $(CP
) -p
$(PACKAGE_NAME
).spec configure
$(TARNAME
)
116 git archive
--format
=tar --prefix=$(TARNAME
)/ HEAD \
117 |
$(TAR
) --delete
$(TARNAME
)/VERSION | cat
> $(TARNAME
).
tar && \
118 $(TAR
) $(TAR_FLAGS
) -rf
$(TARNAME
).
tar $(TARNAME
) && \
119 echo
$(TARNAME
).
tar successfully generated
122 gzip
-f
-9 $(TARNAME
).
tar && \
123 md5sum
$(TARNAME
).
tar.gz
> $(TARNAME
).
tar.gz.md5
125 rpmbuild
$(RPMBUILD_FLAGS
) -ta
$(TARNAME
).
tar.gz
126 $(TARNAME
)-doc.
tar: $(TARNAME
).
tar $(RELEASEDOC
)
127 $(MV
) $(TARNAME
).
tar $(TARNAME
)-doc.
tar
129 $(CP
) -p
-d
$(RELEASEDOC
) $(TARNAME
)
130 $(TAR
) --mode
644 -rf
$(TARNAME
)-doc.
tar `find $(TARNAME)/*`
132 docdist
: $(TARNAME
)-doc.
tar
133 gzip
-f
-9 $(TARNAME
)-doc.
tar && \
134 md5sum
$(TARNAME
)-doc.
tar.gz
> $(TARNAME
)-doc.
tar.gz.md5
136 configure
: configure.ac
139 $(PACKAGE_NAME
).spec
: $(PACKAGE_NAME
).spec.in
140 sed
-e
's/@@VERSION@@/$(RPM_VERSION)/g' \
141 -e
's/@@RELEASE@@/$(RPM_RELEASE)/g' < $< > $@
143 README.html
: README INSTALL BUGS asciidoc.conf
144 $(ASCIIDOC
) $(ASCIIDOC_FLAGS
) -b xhtml11
-d article
-a readme
$<
146 $(PERLDOC
:%=%.1): $(PERLDOC
)
147 pod2man
--utf8
$(patsubst %.1,%,$@
) >$@
148 $(PERLDOC
:%=%.1.txt
): $(PERLDOC
)
149 pod2text
--utf8
$(patsubst %.1.txt
,%,$@
) >$@
150 $(PERLDOC
:%=%.1.html
): $(PERLDOC
)
151 pod2html
--noindex
$(patsubst %.1.html
,%,$@
) >$@