Code

48561c344ac23664299cedb2a65a7b59688526eb
[sysdb.git] / src / Makefile.am
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 AM_YFLAGS = -d
14 BUILT_SOURCES = include/client/sysdb.h include/sysdb.h \
15                 frontend/grammar.h parser/grammar.h
16 EXTRA_DIST = include/client/sysdb.h.in include/sysdb.h.in
18 pkginclude_HEADERS = include/sysdb.h
19 pkgcoreincludedir = $(pkgincludedir)/core
20 pkgcoreinclude_HEADERS = \
21                 include/core/data.h \
22                 include/core/object.h \
23                 include/core/plugin.h \
24                 include/core/store.h \
25                 include/core/time.h \
26                 include/core/timeseries.h
27 pkgfeincludedir = $(pkgincludedir)/frontend
28 pkgfeinclude_HEADERS = \
29                 include/frontend/connection.h \
30                 include/frontend/parser.h \
31                 include/frontend/proto.h \
32                 include/frontend/sock.h
33 pkgutilsincludedir = $(pkgincludedir)/utils
34 pkgutilsinclude_HEADERS = \
35                 include/utils/avltree.h \
36                 include/utils/channel.h \
37                 include/utils/dbi.h \
38                 include/utils/error.h \
39                 include/utils/llist.h \
40                 include/utils/os.h \
41                 include/utils/proto.h \
42                 include/utils/ssl.h \
43                 include/utils/strbuf.h \
44                 include/utils/unixsock.h
46 pkgclientincludedir = $(pkgincludedir)/client
47 pkgclientinclude_HEADERS = \
48                 include/client/sock.h \
49                 include/client/sysdb.h
51 noinst_LTLIBRARIES = libsysdbclient.la libsysdb.la
53 libsysdbclient_la_SOURCES = \
54                 core/data.c include/core/data.h \
55                 core/time.c include/core/time.h \
56                 client/client.c include/client/sysdb.h \
57                 client/sock.c include/client/sock.h \
58                 utils/error.c include/utils/error.h \
59                 utils/proto.c include/utils/proto.h \
60                 utils/ssl.c include/utils/ssl.h \
61                 utils/strbuf.c include/utils/strbuf.h
62 libsysdbclient_la_CFLAGS = $(AM_CFLAGS) @OPENSSL_CFLAGS@
63 libsysdbclient_la_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
64 libsysdbclient_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:0:0 \
65                 -pthread -lm -lrt
66 libsysdbclient_la_LIBADD = $(LIBLTDL) @OPENSSL_LIBS@
68 # don't use strict CFLAGS for flex code
69 noinst_LTLIBRARIES += libsysdb_fe_parser.la
70 libsysdb_fe_parser_la_SOURCES = \
71                 frontend/grammar.y frontend/scanner.l \
72                 parser/grammar.y parser/scanner.l
73 libsysdb_fe_parser_la_CFLAGS = @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@ \
74                 -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
75 libsysdb_la_SOURCES = \
76                 sysdb.c include/sysdb.h \
77                 core/object.c include/core/object.h \
78                 core/plugin.c include/core/plugin.h \
79                 core/store.c include/core/store.h \
80                 core/store-private.h \
81                 core/store_exec.c \
82                 core/store_expr.c \
83                 core/store_json.c \
84                 core/store_lookup.c \
85                 core/store_query.c \
86                 core/data.c include/core/data.h \
87                 core/time.c include/core/time.h \
88                 core/timeseries.c include/core/timeseries.h \
89                 frontend/analyzer.c \
90                 frontend/connection.c include/frontend/connection.h \
91                 frontend/connection-private.h \
92                 frontend/parser.c include/frontend/parser.h \
93                 frontend/sock.c include/frontend/sock.h \
94                 frontend/session.c \
95                 frontend/query.c \
96                 parser/analyzer.c \
97                 parser/ast.c include/parser/ast.h \
98                 parser/parser.c include/parser/parser.h \
99                 utils/avltree.c include/utils/avltree.h \
100                 utils/channel.c include/utils/channel.h \
101                 utils/error.c include/utils/error.h \
102                 utils/llist.c include/utils/llist.h \
103                 utils/os.c include/utils/os.h \
104                 utils/proto.c include/utils/proto.h \
105                 utils/ssl.c include/utils/ssl.h \
106                 utils/strbuf.c include/utils/strbuf.h \
107                 utils/unixsock.c include/utils/unixsock.h
108 libsysdb_la_CFLAGS = $(AM_CFLAGS) @OPENSSL_CFLAGS@
109 libsysdb_la_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
110 libsysdb_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:0:0 \
111                 -pthread -lm -lrt
112 libsysdb_la_LIBADD = libsysdb_fe_parser.la \
113                 $(LIBLTDL) liboconfig/liboconfig.la @OPENSSL_LIBS@
114 libsysdb_la_DEPENDENCIES = libsysdb_fe_parser.la liboconfig/liboconfig.la
116 if BUILD_WITH_LIBDBI
117 libsysdb_la_SOURCES += \
118                 utils/dbi.c include/utils/dbi.h
119 libsysdb_la_LIBADD += -ldbi
120 endif
122 bin_PROGRAMS = sysdbd
123 if BUILD_CLIENT
124 bin_PROGRAMS += sysdb
126 # don't use strict CFLAGS for flex code
127 noinst_LTLIBRARIES += libsysdb_scanner.la
128 libsysdb_scanner_la_SOURCES = tools/sysdb/scanner.l
129 libsysdb_scanner_la_CFLAGS = @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@ \
130                 -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
131 sysdb_SOURCES = tools/sysdb/main.c include/client/sysdb.h \
132                 tools/sysdb/command.c tools/sysdb/command.h \
133                 tools/sysdb/input.c tools/sysdb/input.h \
134                 core/object.c include/core/object.h \
135                 utils/llist.c include/utils/llist.h \
136                 utils/os.c include/utils/os.h
137 sysdb_CFLAGS = -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\"" \
138                 $(AM_CFLAGS) @READLINE_CFLAGS@
139 sysdb_LDADD = libsysdb_scanner.la libsysdbclient.la @READLINE_LIBS@ -lm
140 endif
142 sysdbd_SOURCES = tools/sysdbd/main.c include/sysdb.h \
143                 tools/sysdbd/configfile.c tools/sysdbd/configfile.h \
144                 $(libsysdb_la_SOURCES)
145 sysdbd_CFLAGS = $(AM_CFLAGS) @OPENSSL_CFLAGS@ \
146                 -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
147 sysdbd_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
148 sysdbd_LDFLAGS = $(AM_LDFLAGS) -export-dynamic -pthread -lm
149 sysdbd_LDADD = libsysdb_fe_parser.la liboconfig/liboconfig.la \
150                 $(LIBLTDL) -lrt @OPENSSL_LIBS@
151 sysdbd_DEPENDENCIES = libsysdb_fe_parser.la liboconfig/liboconfig.la
153 if BUILD_WITH_LIBDBI
154 sysdbd_LDADD += -ldbi
155 endif
157 sdbconfdir = $(sysconfdir)/sysdb
158 dist_sdbconf_DATA = tools/sysdbd/sysdbd.conf.sample
160 pkgbackendlibdir = $(pkglibdir)/backend
161 pkgbackendcollectdlibdir = $(pkgbackendlibdir)/collectd
162 pkgbackendpuppetlibdir = $(pkgbackendlibdir)/puppet
163 pkgcnamelibdir = $(pkglibdir)/cname
164 pkgtimeserieslibdir = $(pkglibdir)/timeseries
165 pkgstorelibdir = $(pkglibdir)/store
167 pkglib_LTLIBRARIES =
168 pkgbackendlib_LTLIBRARIES =
169 pkgbackendcollectdlib_LTLIBRARIES =
170 pkgbackendpuppetlib_LTLIBRARIES =
171 pkgcnamelib_LTLIBRARIES =
172 pkgtimeserieslib_LTLIBRARIES =
173 pkgstorelib_LTLIBRARIES =
175 if BUILD_PLUGIN_CNAMEDNS
176 pkgcnamelib_LTLIBRARIES += plugins/cname/dns.la
177 plugins_cname_dns_la_SOURCE = plugins/cname/dns.c
178 plugins_cname_dns_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
179 sysdbd_LDADD += -dlopen plugins/cname/dns.la
180 sysdbd_DEPENDENCIES += plugins/cname/dns.la
181 endif
183 if BUILD_PLUGIN_COLLECTDUNIXSOCK
184 pkgbackendcollectdlib_LTLIBRARIES += plugins/backend/collectd/unixsock.la
185 plugins_backend_collectd_unixsock_la_SOURCES = plugins/backend/collectd/unixsock.c
186 plugins_backend_collectd_unixsock_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
187 sysdbd_LDADD += -dlopen plugins/backend/collectd/unixsock.la
188 sysdbd_DEPENDENCIES += plugins/backend/collectd/unixsock.la
189 endif
191 if BUILD_PLUGIN_FACTER
192 pkgbackendlib_LTLIBRARIES += plugins/backend/facter.la
193 plugins_backend_facter_la_SOURCES = plugins/backend/facter.cc
194 plugins_backend_facter_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version -lfacter
195 sysdbd_LDADD += -dlopen plugins/backend/facter.la
196 sysdbd_DEPENDENCIES += plugins/backend/facter.la
197 endif
199 if BUILD_PLUGIN_MKLIVESTATUS
200 pkgbackendlib_LTLIBRARIES += plugins/backend/mk-livestatus.la
201 plugins_backend_mk_livestatus_la_SOURCES = plugins/backend/mk-livestatus.c
202 plugins_backend_mk_livestatus_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
203 sysdbd_LDADD += -dlopen plugins/backend/mk-livestatus.la
204 sysdbd_DEPENDENCIES += plugins/backend/mk-livestatus.la
205 endif
207 if BUILD_PLUGIN_PUPPETSTORECONFIGS
208 pkgbackendpuppetlib_LTLIBRARIES += plugins/backend/puppet/store-configs.la
209 plugins_backend_puppet_store_configs_la_SOURCES = plugins/backend/puppet/store-configs.c
210 plugins_backend_puppet_store_configs_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
211 sysdbd_LDADD += -dlopen plugins/backend/puppet/store-configs.la
212 sysdbd_DEPENDENCIES += plugins/backend/puppet/store-configs.la
213 endif
215 if BUILD_PLUGIN_SYSLOG
216 pkglib_LTLIBRARIES += plugins/syslog.la
217 plugins_syslog_la_SOURCE = plugins/syslog.c
218 plugins_syslog_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
219 sysdbd_LDADD += -dlopen plugins/syslog.la
220 sysdbd_DEPENDENCIES += plugins/syslog.la
221 endif
223 if BUILD_PLUGIN_TIMESERIESRRDTOOL
224 pkgtimeserieslib_LTLIBRARIES += plugins/timeseries/rrdtool.la
225 plugins_timeseries_rrdtool_la_SOURCES = plugins/timeseries/rrdtool.c
226 plugins_timeseries_rrdtool_la_CFLAGS = $(AM_CFLAGS) @RRD_CFLAGS@
227 plugins_timeseries_rrdtool_la_LDFLAGS = $(AM_LDFLAGS) @RRD_LIBS@ -module -avoid-version
228 sysdbd_LDADD += -dlopen plugins/timeseries/rrdtool.la
229 sysdbd_DEPENDENCIES += plugins/timeseries/rrdtool.la
230 endif
232 if BUILD_PLUGIN_STORENETWORK
233 pkgstorelib_LTLIBRARIES += plugins/store/network.la
234 plugins_store_network_la_SOURCES = plugins/store/network.c
235 plugins_store_network_la_LDFLAGS = $(AM_LDFLAGS) libsysdbclient.la -module -avoid-version
236 sysdbd_LDADD += -dlopen plugins/store/network.la
237 sysdbd_DEPENDENCIES += plugins/store/network.la
238 endif
240 include/client/sysdb.h: include/client/sysdb.h.in $(abs_top_builddir)/version
241         mkdir -p include/client
242         source $(abs_top_builddir)/version; sed \
243             -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \
244             -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \
245             -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \
246             -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \
247             -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
248             $(srcdir)/include/client/sysdb.h.in \
249             > include/client/sysdb.h
251 include/sysdb.h: include/sysdb.h.in $(abs_top_builddir)/version
252         mkdir -p include
253         source $(abs_top_builddir)/version; sed \
254             -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \
255             -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \
256             -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \
257             -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \
258             -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
259             $(srcdir)/include/sysdb.h.in \
260             > include/sysdb.h
262 $(abs_top_builddir)/version:
263         cd .. && make version