interface: Collect interface stats twice a minute
[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 # Dirs of external packages
36 dbuspolicydir=@dbuspolicydir@
37 dbussystemservicedir=@dbussystemservicedir@
38
39 CLEANFILES =
40 DISTCLEANFILES =
41 EXTRA_DIST =
42 INSTALL_DIRS =
43 noinst_DATA =
44
45 @INTLTOOL_POLICY_RULE@
46
47 .PHONY: update-po
48 update-po:
49         $(MAKE) -C po update-po
50
51 DISTCHECK_CONFIGURE_FLAGS = \
52         --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
53         --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
54         --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
55
56 # ------------------------------------------------------------------------------
57
58 AM_V_XSLT   = $(AM_V_XSLT_$(V))
59 AM_V_XSLT_  = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
60 AM_V_XSLT_0 = @echo "  XSLT    " $@;
61
62 # ------------------------------------------------------------------------------
63
64 dist_doc_DATA = \
65         COPYING
66
67 # ------------------------------------------------------------------------------
68
69 dist_bin_SCRIPTS = \
70         src/collectyd \
71         src/collecty-client
72
73 collecty_PYTHON = \
74         src/collecty/__init__.py \
75         src/collecty/bus.py \
76         src/collecty/client.py \
77         src/collecty/constants.py \
78         src/collecty/daemon.py \
79         src/collecty/errors.py \
80         src/collecty/i18n.py \
81         src/collecty/logger.py \
82         src/collecty/ping.py
83
84 collectydir = $(pythondir)/collecty
85
86 collectyplugins_PYTHON = \
87         src/collecty/plugins/base.py \
88         src/collecty/plugins/conntrack.py \
89         src/collecty/plugins/cpu.py \
90         src/collecty/plugins/cpufreq.py \
91         src/collecty/plugins/disk.py \
92         src/collecty/plugins/entropy.py \
93         src/collecty/plugins/__init__.py \
94         src/collecty/plugins/interface.py \
95         src/collecty/plugins/latency.py \
96         src/collecty/plugins/loadavg.py \
97         src/collecty/plugins/memory.py \
98         src/collecty/plugins/sensors.py
99
100 collectypluginsdir = $(collectydir)/plugins
101
102 pkgpyexec_LTLIBRARIES = \
103         _collecty.la
104
105 _collecty_la_SOURCES = \
106         src/_collectymodule.c
107
108 _collecty_la_CFLAGS = \
109         $(AM_CFLAGS) \
110         $(LIBATASMART_CFLAGS) \
111         $(PYTHON_CFLAGS)
112
113 _collecty_la_LDFLAGS = \
114         $(AM_LDFLAGS) \
115         -shared \
116         -module \
117         -avoid-version
118
119 _collecty_la_LIBADD = \
120         $(LIBATASMART_LIBS) \
121         $(PYTHON_LIBS) \
122         $(SENSORS_LIBS)
123
124 dist_dbuspolicy_DATA = \
125         src/dbus/org.ipfire.collecty1.conf
126
127 dist_dbussystemservice_DATA = \
128         src/dbus/org.ipfire.collecty1.service
129
130 systemdsystemunit_DATA = \
131         src/systemd/collecty.service
132
133 dist_systemdsystemunit_DATA = \
134         src/systemd/org.ipfire.collecty1.busname
135
136 EXTRA_DIST += \
137         src/systemd/collecty.service.in
138
139 CLEANFILES += \
140         src/systemd/collecty.service
141
142 # ------------------------------------------------------------------------------
143
144 if ENABLE_MANPAGES
145 MANPAGES = \
146         man/collectyd.1
147
148 MANPAGES_XML  = $(patsubst %.1,%.xml,$(patsubst %.5,%.xml,$(MANPAGES)))
149 MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML))
150
151 man: $(MANPAGES) $(MANPAGES_HTML)
152
153 man_MANS = \
154         $(MANPAGES)
155
156 noinst_DATA += \
157         $(MANPAGES_HTML)
158
159 CLEANFILES += \
160         $(man_MANS) \
161         $(MANPAGES_HTML)
162
163 EXTRA_DIST += \
164         $(MANPAGES_XML) \
165         man/custom-html.xsl
166
167 XSLTPROC_FLAGS = \
168         --nonet \
169         --stringparam man.output.quietly 1 \
170         --stringparam funcsynopsis.style ansi \
171         --stringparam man.th.extra1.suppress 1 \
172         --stringparam man.authors.section.enabled 1 \
173         --stringparam man.copyright.section.enabled 1
174
175 XSLTPROC_COMMAND_MAN = \
176         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
177                 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
178
179 XSLTPROC_COMMAND_HTML = \
180         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
181
182 man/%.1: man/%.xml
183         $(XSLTPROC_COMMAND_MAN)
184
185 man/%.5: man/%.xml
186         $(XSLTPROC_COMMAND_MAN)
187
188 man/%.html: man/%.xml man/custom-html.xsl
189         $(XSLTPROC_COMMAND_HTML)
190
191 endif
192
193 # ------------------------------------------------------------------------------
194
195 substitutions = \
196         '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
197         '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
198         '|configsdir=$(configsdir)|' \
199         '|bindir=$(bindir)|'
200
201 SED_PROCESS = \
202         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
203         $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
204                 < $< > $@
205
206 src/systemd/%: src/systemd/%.in Makefile
207         $(SED_PROCESS)