Add graphs for IP fragmentation
[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/__version__.py \
76         src/collecty/bus.py \
77         src/collecty/client.py \
78         src/collecty/colours.py \
79         src/collecty/constants.py \
80         src/collecty/daemon.py \
81         src/collecty/errors.py \
82         src/collecty/i18n.py \
83         src/collecty/locales.py \
84         src/collecty/logger.py \
85         src/collecty/util.py
86
87 collectydir = $(pythondir)/collecty
88
89 collectyplugins_PYTHON = \
90         src/collecty/plugins/base.py \
91         src/collecty/plugins/contextswitches.py \
92         src/collecty/plugins/conntrack.py \
93         src/collecty/plugins/cpufreq.py \
94         src/collecty/plugins/df.py \
95         src/collecty/plugins/disk.py \
96         src/collecty/plugins/entropy.py \
97         src/collecty/plugins/__init__.py \
98         src/collecty/plugins/interface.py \
99         src/collecty/plugins/interrupts.py \
100         src/collecty/plugins/ipfrag.py \
101         src/collecty/plugins/latency.py \
102         src/collecty/plugins/loadavg.py \
103         src/collecty/plugins/memory.py \
104         src/collecty/plugins/processor.py \
105         src/collecty/plugins/sensors.py
106
107 collectypluginsdir = $(collectydir)/plugins
108
109 pkgpyexec_LTLIBRARIES = \
110         _collecty.la
111
112 _collecty_la_SOURCES = \
113         src/_collectymodule.c
114
115 _collecty_la_CFLAGS = \
116         $(AM_CFLAGS) \
117         $(LIBATASMART_CFLAGS) \
118         $(OPING_CFLAGS) \
119         $(PYTHON_CFLAGS)
120
121 _collecty_la_LDFLAGS = \
122         $(AM_LDFLAGS) \
123         -shared \
124         -module \
125         -avoid-version
126
127 _collecty_la_LIBADD = \
128         $(LIBATASMART_LIBS) \
129         $(OPING_LIBS) \
130         $(PYTHON_LIBS) \
131         $(SENSORS_LIBS)
132
133 dist_dbuspolicy_DATA = \
134         src/dbus/org.ipfire.collecty1.conf
135
136 dist_dbussystemservice_DATA = \
137         src/dbus/org.ipfire.collecty1.service
138
139 systemdsystemunit_DATA = \
140         src/systemd/collecty.service
141
142 dist_systemdsystemunit_DATA = \
143         src/systemd/org.ipfire.collecty1.busname
144
145 EXTRA_DIST += \
146         src/systemd/collecty.service.in
147
148 CLEANFILES += \
149         src/systemd/collecty.service
150
151 # ------------------------------------------------------------------------------
152
153 if ENABLE_MANPAGES
154 MANPAGES = \
155         man/collectyd.1
156
157 MANPAGES_XML  = $(patsubst %.1,%.xml,$(patsubst %.5,%.xml,$(MANPAGES)))
158 MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML))
159
160 man: $(MANPAGES) $(MANPAGES_HTML)
161
162 man_MANS = \
163         $(MANPAGES)
164
165 noinst_DATA += \
166         $(MANPAGES_HTML)
167
168 CLEANFILES += \
169         $(man_MANS) \
170         $(MANPAGES_HTML)
171
172 EXTRA_DIST += \
173         $(MANPAGES_XML) \
174         man/custom-html.xsl
175
176 XSLTPROC_FLAGS = \
177         --nonet \
178         --stringparam man.output.quietly 1 \
179         --stringparam funcsynopsis.style ansi \
180         --stringparam man.th.extra1.suppress 1 \
181         --stringparam man.authors.section.enabled 1 \
182         --stringparam man.copyright.section.enabled 1
183
184 XSLTPROC_COMMAND_MAN = \
185         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
186                 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
187
188 XSLTPROC_COMMAND_HTML = \
189         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
190
191 man/%.1: man/%.xml
192         $(XSLTPROC_COMMAND_MAN)
193
194 man/%.5: man/%.xml
195         $(XSLTPROC_COMMAND_MAN)
196
197 man/%.html: man/%.xml man/custom-html.xsl
198         $(XSLTPROC_COMMAND_HTML)
199
200 endif
201
202 # ------------------------------------------------------------------------------
203
204 substitutions = \
205         '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
206         '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
207         '|configsdir=$(configsdir)|' \
208         '|bindir=$(bindir)|'
209
210 SED_PROCESS = \
211         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
212         $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
213                 < $< > $@
214
215 src/systemd/%: src/systemd/%.in Makefile
216         $(SED_PROCESS)