Makefile: Fix building man-pages only
[ddns.git] / Makefile.am
1 ###############################################################################
2 # #
3 # Pakfire - The IPFire package management system #
4 # Copyright (C) 2013 Pakfire development team #
5 # #
6 # This program is free software: you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation, either version 3 of the License, or #
9 # (at your option) any later version. #
10 # #
11 # This program is distributed in the hope that it will be useful, #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
18 # #
19 ###############################################################################
20
21 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
22 AM_MAKEFLAGS = --no-print-directory
23 AUTOMAKE_OPTIONS = color-tests
24
25 # remove target it the command fails
26 .DELETE_ON_ERROR:
27
28 # keep itermediate files
29 .SECONDARY:
30
31 SUBDIRS = . po
32
33 pythondir = $(pyexecdir)
34
35 configsdir = $(sysconfdir)/ddns
36
37 CLEANFILES =
38 DISTCLEANFILES =
39 EXTRA_DIST =
40 INSTALL_DIRS =
41 noinst_DATA =
42
43 @INTLTOOL_POLICY_RULE@
44
45 .PHONY: update-po
46 update-po:
47 $(MAKE) -C po update-po
48
49 DISTCHECK_CONFIGURE_FLAGS = \
50 --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
51
52 # ------------------------------------------------------------------------------
53
54 AM_V_XSLT = $(AM_V_XSLT_$(V))
55 AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
56 AM_V_XSLT_0 = @echo " XSLT " $@;
57
58 # ------------------------------------------------------------------------------
59
60 dist_doc_DATA = \
61 COPYING
62
63 # ------------------------------------------------------------------------------
64
65 bin_SCRIPTS = \
66 ddns
67
68 EXTRA_DIST += \
69 ddns.in
70
71 CLEANFILES += \
72 ddns
73
74 dist_configs_DATA = \
75 ddns.conf.sample
76
77 ddns_PYTHON = \
78 src/ddns/__init__.py \
79 src/ddns/__version__.py \
80 src/ddns/database.py \
81 src/ddns/errors.py \
82 src/ddns/i18n.py \
83 src/ddns/providers.py \
84 src/ddns/system.py
85
86 ddnsdir = $(pythondir)/ddns
87
88 # ------------------------------------------------------------------------------
89
90 .PHONY: man
91 man: $(MANPAGES) $(MANPAGES_HTML)
92
93 if ENABLE_MANPAGES
94 MANPAGES = \
95 man/ddns.1 \
96 man/ddns.conf.5
97
98 MANPAGES_XML = $(patsubst %.1,%.xml,$(patsubst %.5,%.xml,$(MANPAGES)))
99 MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML))
100
101 man_MANS = \
102 $(MANPAGES)
103
104 noinst_DATA += \
105 $(MANPAGES_HTML)
106
107 CLEANFILES += \
108 $(man_MANS) \
109 $(MANPAGES_HTML)
110
111 EXTRA_DIST += \
112 $(MANPAGES_XML) \
113 man/custom-html.xsl
114
115 XSLTPROC_FLAGS = \
116 --nonet \
117 --stringparam man.output.quietly 1 \
118 --stringparam funcsynopsis.style ansi \
119 --stringparam man.th.extra1.suppress 1 \
120 --stringparam man.authors.section.enabled 1 \
121 --stringparam man.copyright.section.enabled 1
122
123 XSLTPROC_COMMAND_MAN = \
124 $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
125 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
126
127 XSLTPROC_COMMAND_HTML = \
128 $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
129
130 man/%.1: man/%.xml
131 $(XSLTPROC_COMMAND_MAN)
132
133 man/%.5: man/%.xml
134 $(XSLTPROC_COMMAND_MAN)
135
136 man/%.html: man/%.xml man/custom-html.xsl
137 $(XSLTPROC_COMMAND_HTML)
138
139 endif
140
141 # ------------------------------------------------------------------------------
142
143 if HAVE_SYSTEMD
144 systemdsystemunit_DATA = \
145 src/systemd/ddns.service \
146 src/systemd/ddns.timer
147
148 CLEANFILES += \
149 $(systemdsystemunit_DATA)
150
151 INSTALL_DIRS += \
152 $(systemdsystemunitdir)
153 endif
154
155 EXTRA_DIST += \
156 src/systemd/ddns.service.in \
157 src/systemd/ddns.timer
158
159 # ------------------------------------------------------------------------------
160
161 substitutions = \
162 '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
163 '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
164 '|configsdir=$(configsdir)|' \
165 '|bindir=$(bindir)|'
166
167 SED_PROCESS = \
168 $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
169 $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
170 < $< > $@
171
172 ddns: ddns.in Makefile
173 $(SED_PROCESS)
174
175 src/systemd/%: src/systemd/%.in Makefile
176 $(SED_PROCESS)