Code

frontend: Added flex/bison based parser skeleton.
[sysdb.git] / src / Makefile.am
index 3f5a0071081afd13a71189fb87b6900d20bf9e5e..c0b7576165150b5c5f4ce1f088538942e34ffe04 100644 (file)
@@ -1,12 +1,17 @@
 SUBDIRS = liboconfig
 
-AM_CFLAGS = @STRICT_CFLAGS@
-AM_CPPFLAGS  = -Iinclude
+# coverage related flags are only set when gcov is enabled
+AM_CFLAGS = @STRICT_CFLAGS@ @COVERAGE_CFLAGS@
+AM_LDFLAGS = @COVERAGE_LDFLAGS@
+AM_CPPFLAGS  = -I"${top_srcdir}/src/include"
 AM_CPPFLAGS += -DSYSCONFDIR='"${sysconfdir}"'
 AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
 AM_CPPFLAGS += -DPKGLIBDIR='"${pkglibdir}"'
 
+AM_YFLAGS = -d
+
 BUILT_SOURCES = include/client/sysdb.h include/sysdb.h
+EXTRA_DIST = include/client/sysdb.h.in include/sysdb.h.in
 
 pkginclude_HEADERS = include/sysdb.h
 pkgcoreincludedir = $(pkgincludedir)/core
@@ -37,6 +42,7 @@ pkgclientinclude_HEADERS = \
                include/client/sysdb.h
 
 lib_LTLIBRARIES = libsysdbclient.la libsysdb.la
+noinst_LTLIBRARIES =
 
 libsysdbclient_la_SOURCES = \
                client/client.c include/client/sysdb.h \
@@ -46,9 +52,14 @@ libsysdbclient_la_SOURCES = \
                utils/strbuf.c include/utils/strbuf.h
 libsysdbclient_la_CFLAGS = $(AM_CFLAGS)
 libsysdbclient_la_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
-libsysdbclient_la_LDFLAGS = -version-info 0:0:0 -pthread
+libsysdbclient_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:0:0 -pthread
 libsysdbclient_la_LIBADD = $(LIBLTDL)
 
+# don't use strict CFLAGS for flex code
+noinst_LTLIBRARIES += libsysdb_fe_parser.la
+libsysdb_fe_parser_la_SOURCES = \
+               frontend/grammar.y frontend/scanner.l
+libsysdb_fe_parser_la_CFLAGS = -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
 libsysdb_la_SOURCES = \
                sysdb.c include/sysdb.h \
                core/object.c include/core/object.h \
@@ -56,7 +67,8 @@ libsysdb_la_SOURCES = \
                core/store.c include/core/store.h \
                include/core/data.h \
                frontend/connection.c include/frontend/connection.h \
-               include/frontend/connection-private.h \
+               frontend/connection-private.h \
+               frontend/parser.c \
                frontend/sock.c include/frontend/sock.h \
                frontend/session.c \
                frontend/query.c \
@@ -69,9 +81,10 @@ libsysdb_la_SOURCES = \
                utils/unixsock.c include/utils/unixsock.h
 libsysdb_la_CFLAGS = $(AM_CFLAGS)
 libsysdb_la_CPPFLAGS = $(AM_CPPFLAGS) $(LTDLINCL)
-libsysdb_la_LDFLAGS = -version-info 0:0:0 -pthread
-libsysdb_la_LIBADD = $(LIBLTDL) -lrt liboconfig/liboconfig.la
-libsysdb_la_DEPENDENCIES = liboconfig/liboconfig.la
+libsysdb_la_LDFLAGS = $(AM_LDFLAGS) -version-info 0:0:0 -pthread
+libsysdb_la_LIBADD = libsysdb_fe_parser.la \
+               $(LIBLTDL) -lrt liboconfig/liboconfig.la
+libsysdb_la_DEPENDENCIES = libsysdb_fe_parser.la liboconfig/liboconfig.la
 
 if BUILD_WITH_LIBDBI
 libsysdb_la_SOURCES += \
@@ -83,10 +96,15 @@ bin_PROGRAMS = sysdbd
 if BUILD_CLIENT
 bin_PROGRAMS += sysdb
 
-sysdb_SOURCES = tools/sysdb/main.c include/client/sysdb.h
+# don't use strict CFLAGS for flex code
+noinst_LTLIBRARIES += libsysdb_scanner.la
+libsysdb_scanner_la_SOURCES = tools/sysdb/scanner.l
+libsysdb_scanner_la_CFLAGS = -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
+sysdb_SOURCES = tools/sysdb/main.c include/client/sysdb.h \
+               tools/sysdb/input.c tools/sysdb/input.h
 sysdb_CFLAGS = -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\"" \
                $(AM_CFLAGS) @READLINE_CFLAGS@
-sysdb_LDADD = libsysdbclient.la @READLINE_LIBS@
+sysdb_LDADD = libsysdb_scanner.la libsysdbclient.la @READLINE_LIBS@
 endif
 
 sysdbd_SOURCES = tools/sysdbd/main.c include/sysdb.h \
@@ -112,7 +130,7 @@ pkgcnamelib_LTLIBRARIES =
 if BUILD_PLUGIN_COLLECTD
 pkgbackendcollectdlib_LTLIBRARIES += backend/collectd/unixsock.la
 backend_collectd_unixsock_la_SOURCES = backend/collectd/unixsock.c
-backend_collectd_unixsock_la_LDFLAGS = -module -avoid-version
+backend_collectd_unixsock_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
 libsysdb_la_LIBADD += -dlopen backend/collectd/unixsock.la
 libsysdb_la_DEPENDENCIES += backend/collectd/unixsock.la
 endif
@@ -120,7 +138,7 @@ endif
 if BUILD_PLUGIN_MKLIVESTATUS
 pkgbackendlib_LTLIBRARIES += backend/mk-livestatus.la
 backend_mk_livestatus_la_SOURCES = backend/mk-livestatus.c
-backend_mk_livestatus_la_LDFLAGS = -module -avoid-version
+backend_mk_livestatus_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
 libsysdb_la_LIBADD += -dlopen backend/mk-livestatus.la
 libsysdb_la_DEPENDENCIES += backend/mk-livestatus.la
 endif
@@ -128,7 +146,7 @@ endif
 if BUILD_PLUGIN_PUPPETSTORECONFIGS
 pkgbackendpuppetlib_LTLIBRARIES += backend/puppet/store-configs.la
 backend_puppet_store_configs_la_SOURCES = backend/puppet/store-configs.c
-backend_puppet_store_configs_la_LDFLAGS = -module -avoid-version
+backend_puppet_store_configs_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
 libsysdb_la_LIBADD += -dlopen backend/puppet/store-configs.la
 libsysdb_la_DEPENDENCIES += backend/puppet/store-configs.la
 endif
@@ -136,7 +154,7 @@ endif
 if BUILD_PLUGIN_SYSLOG
 pkglib_LTLIBRARIES += plugins/syslog.la
 plugins_syslog_la_SOURCE = plugins/syslog.c
-plugins_syslog_la_LDFLAGS = -module -avoid-version
+plugins_syslog_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
 libsysdb_la_LIBADD += -dlopen plugins/syslog.la
 libsysdb_la_DEPENDENCIES += plugins/syslog.la
 endif
@@ -144,7 +162,7 @@ endif
 if BUILD_PLUGIN_CNAMEDNS
 pkgcnamelib_LTLIBRARIES += plugins/cname/dns.la
 plugins_cname_dns_la_SOURCE = plugins/cname/dns.c
-plugins_cname_dns_la_LDFLAGS = -module -avoid-version
+plugins_cname_dns_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
 libsysdb_la_LIBADD += -dlopen plugins/cname/dns.la
 libsysdb_la_DEPENDENCIES += plugins/cname/dns.la
 endif
@@ -167,3 +185,5 @@ include/sysdb.h: include/sysdb.h.in ../version
            -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
            include/sysdb.h.in > include/sysdb.h
 
+../version:
+       cd .. && make version