1 SUBDIRS = liboconfig
3 # coverage related flags are only set when gcov is enabled
4 AM_CFLAGS = @STRICT_CFLAGS@ @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@
5 AM_CXXFLAGS = @STRICT_CXXFLAGS@ @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@
6 AM_LDFLAGS = @COVERAGE_LDFLAGS@ @PROFILING_LDFLAGS@
7 AM_CPPFLAGS = -I${top_builddir}/src/include -I${top_srcdir}/src/include
8 AM_CPPFLAGS += -DSYSCONFDIR='"${sysconfdir}"'
9 AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
10 AM_CPPFLAGS += -DPKGLIBDIR='"${pkglibdir}"'
12 V_LFLAGS = $(v_lflags_@AM_V@)
13 v_lflags_ = $(v_lflags_@AM_DEFAULT_V@)
14 v_lflags_1 = -v
16 AM_LFLAGS = $(V_LFLAGS)
17 AM_YFLAGS = -d
19 BUILT_SOURCES = include/client/sysdb.h include/sysdb.h \
20 parser/grammar.h
21 EXTRA_DIST = include/client/sysdb.h.in include/sysdb.h.in
23 pkginclude_HEADERS = include/sysdb.h
24 pkgcoreincludedir = $(pkgincludedir)/core
25 pkgcoreinclude_HEADERS = \
26 include/core/data.h \
27 include/core/object.h \
28 include/core/plugin.h \
29 include/core/store.h \
30 include/core/time.h \
31 include/core/timeseries.h
32 pkgfeincludedir = $(pkgincludedir)/frontend
33 pkgfeinclude_HEADERS = \
34 include/frontend/connection.h \
35 include/frontend/proto.h \
36 include/frontend/sock.h
37 pkgutilsincludedir = $(pkgincludedir)/utils
38 pkgutilsinclude_HEADERS = \
39 include/utils/avltree.h \
40 include/utils/channel.h \
41 include/utils/dbi.h \
42 include/utils/error.h \
43 include/utils/llist.h \
44 include/utils/os.h \
45 include/utils/proto.h \
46 include/utils/ssl.h \
47 include/utils/strbuf.h \
48 include/utils/strings.h \
49 include/utils/unixsock.h
51 pkgclientincludedir = $(pkgincludedir)/client
52 pkgclientinclude_HEADERS = \
53 include/client/sock.h \
54 include/client/sysdb.h
56 noinst_LTLIBRARIES = libsysdbclient.la libsysdb.la
58 libsysdbclient_la_SOURCES = \
59 core/data.c include/core/data.h \
60 core/time.c include/core/time.h \
61 client/client.c include/client/sysdb.h \
62 client/sock.c include/client/sock.h \
63 utils/error.c include/utils/error.h \
64 utils/proto.c include/utils/proto.h \
65 utils/ssl.c include/utils/ssl.h \
66 utils/strbuf.c include/utils/strbuf.h \
67 utils/strings.c include/utils/strings.h
68 libsysdbclient_la_CFLAGS = $(AM_CFLAGS) @OPENSSL_CFLAGS@
69 libsysdbclient_la_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
70 libsysdbclient_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:0:0 \
71 -pthread -lm -lrt
72 libsysdbclient_la_LIBADD = $(LIBLTDL) @OPENSSL_LIBS@
74 # don't use strict CFLAGS for flex code
75 noinst_LTLIBRARIES += libsysdb_fe_parser.la
76 libsysdb_fe_parser_la_SOURCES = \
77 parser/grammar.y parser/scanner.l
78 libsysdb_fe_parser_la_CFLAGS = @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@ \
79 -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
80 libsysdb_la_SOURCES = \
81 sysdb.c include/sysdb.h \
82 core/data.c include/core/data.h \
83 core/memstore.c include/core/memstore.h \
84 core/memstore-private.h \
85 core/memstore_exec.c \
86 core/memstore_expr.c \
87 core/memstore_lookup.c \
88 core/memstore_query.c \
89 core/object.c include/core/object.h \
90 core/plugin.c include/core/plugin.h \
91 core/store_json.c include/core/store.h \
92 core/time.c include/core/time.h \
93 core/timeseries.c include/core/timeseries.h \
94 frontend/connection.c include/frontend/connection.h \
95 frontend/connection-private.h \
96 frontend/sock.c include/frontend/sock.h \
97 frontend/session.c \
98 frontend/query.c \
99 parser/analyzer.c \
100 parser/ast.c include/parser/ast.h \
101 parser/parser.c include/parser/parser.h \
102 utils/avltree.c include/utils/avltree.h \
103 utils/channel.c include/utils/channel.h \
104 utils/error.c include/utils/error.h \
105 utils/llist.c include/utils/llist.h \
106 utils/os.c include/utils/os.h \
107 utils/proto.c include/utils/proto.h \
108 utils/ssl.c include/utils/ssl.h \
109 utils/strbuf.c include/utils/strbuf.h \
110 utils/strings.c include/utils/strings.h \
111 utils/unixsock.c include/utils/unixsock.h
112 libsysdb_la_CFLAGS = $(AM_CFLAGS) @OPENSSL_CFLAGS@
113 libsysdb_la_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
114 libsysdb_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:0:0 \
115 -pthread -lm -lrt
116 libsysdb_la_LIBADD = libsysdb_fe_parser.la \
117 $(LIBLTDL) liboconfig/liboconfig.la @OPENSSL_LIBS@
118 libsysdb_la_DEPENDENCIES = libsysdb_fe_parser.la liboconfig/liboconfig.la
120 if BUILD_WITH_LIBDBI
121 libsysdb_la_SOURCES += \
122 utils/dbi.c include/utils/dbi.h
123 libsysdb_la_LIBADD += -ldbi
124 endif
126 bin_PROGRAMS = sysdbd
127 if BUILD_CLIENT
128 bin_PROGRAMS += sysdb
130 # don't use strict CFLAGS for flex code
131 noinst_LTLIBRARIES += libsysdb_scanner.la
132 libsysdb_scanner_la_SOURCES = tools/sysdb/scanner.l
133 libsysdb_scanner_la_CFLAGS = @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@ \
134 -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
135 sysdb_SOURCES = tools/sysdb/main.c include/client/sysdb.h \
136 tools/sysdb/command.c tools/sysdb/command.h \
137 tools/sysdb/input.c tools/sysdb/input.h \
138 tools/sysdb/json.c tools/sysdb/json.h \
139 core/object.c include/core/object.h \
140 utils/llist.c include/utils/llist.h \
141 utils/os.c include/utils/os.h
142 sysdb_CFLAGS = -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\"" \
143 $(AM_CFLAGS) @READLINE_CFLAGS@ @YAJL_CFLAGS@
144 sysdb_LDADD = libsysdb_scanner.la libsysdbclient.la \
145 @READLINE_LIBS@ @YAJL_LIBS@ -lm
146 endif
148 sysdbd_SOURCES = tools/sysdbd/main.c include/sysdb.h \
149 tools/sysdbd/configfile.c tools/sysdbd/configfile.h \
150 $(libsysdb_la_SOURCES)
151 sysdbd_CFLAGS = $(AM_CFLAGS) @OPENSSL_CFLAGS@ \
152 -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
153 sysdbd_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
154 sysdbd_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -pthread -lm
155 sysdbd_LDADD = libsysdb_fe_parser.la liboconfig/liboconfig.la \
156 $(LIBLTDL) -lrt @OPENSSL_LIBS@
157 sysdbd_DEPENDENCIES = libsysdb_fe_parser.la liboconfig/liboconfig.la
159 if BUILD_WITH_LIBDBI
160 sysdbd_LDADD += -ldbi
161 endif
163 sdbconfdir = $(sysconfdir)/sysdb
164 dist_sdbconf_DATA = tools/sysdbd/sysdbd.conf.sample
166 pkgbackendlibdir = $(pkglibdir)/backend
167 pkgbackendcollectdlibdir = $(pkgbackendlibdir)/collectd
168 pkgbackendpuppetlibdir = $(pkgbackendlibdir)/puppet
169 pkgcnamelibdir = $(pkglibdir)/cname
170 pkgtimeserieslibdir = $(pkglibdir)/timeseries
171 pkgstorelibdir = $(pkglibdir)/store
173 pkglib_LTLIBRARIES =
174 pkgbackendlib_LTLIBRARIES =
175 pkgbackendcollectdlib_LTLIBRARIES =
176 pkgbackendpuppetlib_LTLIBRARIES =
177 pkgcnamelib_LTLIBRARIES =
178 pkgtimeserieslib_LTLIBRARIES =
179 pkgstorelib_LTLIBRARIES =
181 if BUILD_PLUGIN_CNAMEDNS
182 pkgcnamelib_LTLIBRARIES += plugins/cname/dns.la
183 plugins_cname_dns_la_SOURCE = plugins/cname/dns.c
184 plugins_cname_dns_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
185 sysdbd_LDADD += -dlopen plugins/cname/dns.la
186 sysdbd_DEPENDENCIES += plugins/cname/dns.la
187 endif
189 if BUILD_PLUGIN_COLLECTDUNIXSOCK
190 pkgbackendcollectdlib_LTLIBRARIES += plugins/backend/collectd/unixsock.la
191 plugins_backend_collectd_unixsock_la_SOURCES = plugins/backend/collectd/unixsock.c
192 plugins_backend_collectd_unixsock_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
193 sysdbd_LDADD += -dlopen plugins/backend/collectd/unixsock.la
194 sysdbd_DEPENDENCIES += plugins/backend/collectd/unixsock.la
195 endif
197 if BUILD_PLUGIN_FACTER
198 pkgbackendlib_LTLIBRARIES += plugins/backend/facter.la
199 plugins_backend_facter_la_SOURCES = plugins/backend/facter.cc
200 plugins_backend_facter_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version -lfacter
201 sysdbd_LDADD += -dlopen plugins/backend/facter.la
202 sysdbd_DEPENDENCIES += plugins/backend/facter.la
203 endif
205 if BUILD_PLUGIN_MKLIVESTATUS
206 pkgbackendlib_LTLIBRARIES += plugins/backend/mk-livestatus.la
207 plugins_backend_mk_livestatus_la_SOURCES = plugins/backend/mk-livestatus.c
208 plugins_backend_mk_livestatus_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
209 sysdbd_LDADD += -dlopen plugins/backend/mk-livestatus.la
210 sysdbd_DEPENDENCIES += plugins/backend/mk-livestatus.la
211 endif
213 if BUILD_PLUGIN_PUPPETSTORECONFIGS
214 pkgbackendpuppetlib_LTLIBRARIES += plugins/backend/puppet/store-configs.la
215 plugins_backend_puppet_store_configs_la_SOURCES = plugins/backend/puppet/store-configs.c
216 plugins_backend_puppet_store_configs_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
217 sysdbd_LDADD += -dlopen plugins/backend/puppet/store-configs.la
218 sysdbd_DEPENDENCIES += plugins/backend/puppet/store-configs.la
219 endif
221 if BUILD_PLUGIN_SYSLOG
222 pkglib_LTLIBRARIES += plugins/syslog.la
223 plugins_syslog_la_SOURCE = plugins/syslog.c
224 plugins_syslog_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
225 sysdbd_LDADD += -dlopen plugins/syslog.la
226 sysdbd_DEPENDENCIES += plugins/syslog.la
227 endif
229 if BUILD_PLUGIN_TIMESERIESRRDTOOL
230 pkgtimeserieslib_LTLIBRARIES += plugins/timeseries/rrdtool.la
231 plugins_timeseries_rrdtool_la_SOURCES = plugins/timeseries/rrdtool.c
232 plugins_timeseries_rrdtool_la_CFLAGS = $(AM_CFLAGS) @RRD_CFLAGS@
233 plugins_timeseries_rrdtool_la_LDFLAGS = $(AM_LDFLAGS) @RRD_LIBS@ -module -avoid-version
234 sysdbd_LDADD += -dlopen plugins/timeseries/rrdtool.la
235 sysdbd_DEPENDENCIES += plugins/timeseries/rrdtool.la
236 endif
238 if BUILD_PLUGIN_STOREMEMORY
239 pkgstorelib_LTLIBRARIES += plugins/store/memory.la
240 plugins_store_memory_la_SOURCES = plugins/store/memory.c
241 plugins_store_memory_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
242 sysdbd_LDADD += -dlopen plugins/store/memory.la
243 sysdbd_DEPENDENCIES += plugins/store/memory.la
244 endif
246 if BUILD_PLUGIN_STORENETWORK
247 pkgstorelib_LTLIBRARIES += plugins/store/network.la
248 plugins_store_network_la_SOURCES = plugins/store/network.c
249 plugins_store_network_la_LDFLAGS = $(AM_LDFLAGS) libsysdbclient.la -module -avoid-version
250 sysdbd_LDADD += -dlopen plugins/store/network.la
251 sysdbd_DEPENDENCIES += plugins/store/network.la
252 endif
254 include/client/sysdb.h: include/client/sysdb.h.in $(abs_top_builddir)/version
255 @mkdir -p include/client
256 $(AM_V_GEN)source $(abs_top_builddir)/version; sed \
257 -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \
258 -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \
259 -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \
260 -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \
261 -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
262 $(srcdir)/include/client/sysdb.h.in \
263 > include/client/sysdb.h
265 include/sysdb.h: include/sysdb.h.in $(abs_top_builddir)/version
266 @mkdir -p include
267 $(AM_V_GEN)source $(abs_top_builddir)/version; sed \
268 -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \
269 -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \
270 -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \
271 -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \
272 -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
273 $(srcdir)/include/sysdb.h.in \
274 > include/sysdb.h
276 $(abs_top_builddir)/version:
277 $(AM_V_GEN)cd .. && make version