Add dbus interface
[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/entropy.py \
91         src/collecty/plugins/__init__.py \
92         src/collecty/plugins/interface.py \
93         src/collecty/plugins/latency.py \
94         src/collecty/plugins/loadavg.py \
95         src/collecty/plugins/memory.py
96
97 collectypluginsdir = $(collectydir)/plugins
98
99 dist_dbuspolicy_DATA = \
100         src/dbus/org.ipfire.collecty1.conf
101
102 dist_dbussystemservice_DATA = \
103         src/dbus/org.ipfire.collecty1.service
104
105 systemdsystemunit_DATA = \
106         src/systemd/collecty.service
107
108 dist_systemdsystemunit_DATA = \
109         src/systemd/org.ipfire.collecty1.busname
110
111 EXTRA_DIST += \
112         src/systemd/collecty.service.in
113
114 CLEANFILES += \
115         src/systemd/collecty.service
116
117 # ------------------------------------------------------------------------------
118
119 if ENABLE_MANPAGES
120 MANPAGES = \
121         man/collectyd.1
122
123 MANPAGES_XML  = $(patsubst %.1,%.xml,$(patsubst %.5,%.xml,$(MANPAGES)))
124 MANPAGES_HTML = $(patsubst %.xml,%.html,$(MANPAGES_XML))
125
126 man: $(MANPAGES) $(MANPAGES_HTML)
127
128 man_MANS = \
129         $(MANPAGES)
130
131 noinst_DATA += \
132         $(MANPAGES_HTML)
133
134 CLEANFILES += \
135         $(man_MANS) \
136         $(MANPAGES_HTML)
137
138 EXTRA_DIST += \
139         $(MANPAGES_XML) \
140         man/custom-html.xsl
141
142 XSLTPROC_FLAGS = \
143         --nonet \
144         --stringparam man.output.quietly 1 \
145         --stringparam funcsynopsis.style ansi \
146         --stringparam man.th.extra1.suppress 1 \
147         --stringparam man.authors.section.enabled 1 \
148         --stringparam man.copyright.section.enabled 1
149
150 XSLTPROC_COMMAND_MAN = \
151         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \
152                 http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
153
154 XSLTPROC_COMMAND_HTML = \
155         $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
156
157 man/%.1: man/%.xml
158         $(XSLTPROC_COMMAND_MAN)
159
160 man/%.5: man/%.xml
161         $(XSLTPROC_COMMAND_MAN)
162
163 man/%.html: man/%.xml man/custom-html.xsl
164         $(XSLTPROC_COMMAND_HTML)
165
166 endif
167
168 # ------------------------------------------------------------------------------
169
170 substitutions = \
171         '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
172         '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
173         '|configsdir=$(configsdir)|' \
174         '|bindir=$(bindir)|'
175
176 SED_PROCESS = \
177         $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
178         $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
179                 < $< > $@
180
181 src/systemd/%: src/systemd/%.in Makefile
182         $(SED_PROCESS)