bccf86d6403dd4c8e6683108fee5faa3e5acf007
[collecty.git] / Makefile.am
1 ###############################################################################
2 #                                                                             #
3 # collecty - The IPFire statictics collection daemon                          #
4 # Copyright (C) 2015 collecty 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 CLEANFILES =
36 DISTCLEANFILES =
37 EXTRA_DIST =
38 INSTALL_DIRS =
39 noinst_DATA =
40
41 @INTLTOOL_POLICY_RULE@
42
43 .PHONY: update-po
44 update-po:
45         $(MAKE) -C po update-po
46
47 DISTCHECK_CONFIGURE_FLAGS = \
48         --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
49
50 # ------------------------------------------------------------------------------
51
52 AM_V_XSLT   = $(AM_V_XSLT_$(V))
53 AM_V_XSLT_  = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
54 AM_V_XSLT_0 = @echo "  XSLT    " $@;
55
56 # ------------------------------------------------------------------------------
57
58 dist_doc_DATA = \
59         COPYING
60
61 # ------------------------------------------------------------------------------
62
63 dist_bin_SCRIPTS = \
64         src/collectyd \
65         src/collecty-client
66
67 collecty_PYTHON = \
68         src/collecty/__init__.py \
69         src/collecty/client.py \
70         src/collecty/constants.py \
71         src/collecty/daemon.py \
72         src/collecty/errors.py \
73         src/collecty/i18n.py \
74         src/collecty/logger.py \
75         src/collecty/ping.py
76
77 collectydir = $(pythondir)/collecty
78
79 collectyplugins_PYTHON = \
80         src/collecty/plugins/base.py \
81         src/collecty/plugins/conntrack.py \
82         src/collecty/plugins/cpu.py \
83         src/collecty/plugins/entropy.py \
84         src/collecty/plugins/__init__.py \
85         src/collecty/plugins/interface.py \
86         src/collecty/plugins/latency.py \
87         src/collecty/plugins/loadavg.py \
88         src/collecty/plugins/memory.py
89
90 collectypluginsdir = $(collectydir)/plugins
91
92 # ------------------------------------------------------------------------------
93
94 if ENABLE_MANPAGES
95 MANPAGES = \
96         man/collectyd.1
97
98 MANPAGES_XML  = $(patsubst %.1,%.xml,$(patsubst %.5,%.xml,$(MANPAGES)))
99 MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML))
100
101 man: $(MANPAGES) $(MANPAGES_HTML)
102
103 man_MANS = \
104         $(MANPAGES)
105
106 noinst_DATA += \
107         $(MANPAGES_HTML)
108
109 CLEANFILES += \
110         $(man_MANS) \
111         $(MANPAGES_HTML)
112
113 EXTRA_DIST += \
114         $(MANPAGES_XML) \
115         man/custom-html.xsl
116
117 XSLTPROC_FLAGS = \
118         --nonet \
119         --stringparam man.output.quietly 1 \
120         --stringparam funcsynopsis.style ansi \
121         --stringparam man.th.extra1.suppress 1 \
122         --stringparam man.authors.section.enabled 1 \
123         --stringparam man.copyright.section.enabled 1
124
125 XSLTPROC_COMMAND_MAN = \
126         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
127                 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
128
129 XSLTPROC_COMMAND_HTML = \
130         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
131
132 man/%.1: man/%.xml
133         $(XSLTPROC_COMMAND_MAN)
134
135 man/%.5: man/%.xml
136         $(XSLTPROC_COMMAND_MAN)
137
138 man/%.html: man/%.xml man/custom-html.xsl
139         $(XSLTPROC_COMMAND_HTML)
140
141 endif
142
143 # ------------------------------------------------------------------------------
144
145 if HAVE_SYSTEMD
146 systemdsystemunit_DATA = \
147         src/systemd/collecty.service
148
149 CLEANFILES += \
150         $(systemdsystemunit_DATA)
151
152 INSTALL_DIRS += \
153         $(systemdsystemunitdir)
154 endif
155
156 EXTRA_DIST += \
157         src/systemd/collecty.service.in
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 src/systemd/%: src/systemd/%.in Makefile
173         $(SED_PROCESS)