Code

Migrate parser from frontend/ to parser/ and to use the AST.
[sysdb.git] / src / Makefile.am
index 4c920ec0bfed4d2f94d8905b9009a46822a2641b..5a3146af6f15a8037ddccd076ef006517f753356 100644 (file)
@@ -4,7 +4,7 @@ SUBDIRS = liboconfig
 AM_CFLAGS = @STRICT_CFLAGS@ @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@
 AM_CXXFLAGS = @STRICT_CXXFLAGS@ @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@
 AM_LDFLAGS = @COVERAGE_LDFLAGS@ @PROFILING_LDFLAGS@
-AM_CPPFLAGS  = -I"${top_srcdir}/src/include"
+AM_CPPFLAGS  = -I${top_builddir}/src/include -I${top_srcdir}/src/include
 AM_CPPFLAGS += -DSYSCONFDIR='"${sysconfdir}"'
 AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
 AM_CPPFLAGS += -DPKGLIBDIR='"${pkglibdir}"'
@@ -12,7 +12,7 @@ AM_CPPFLAGS += -DPKGLIBDIR='"${pkglibdir}"'
 AM_YFLAGS = -d
 
 BUILT_SOURCES = include/client/sysdb.h include/sysdb.h \
-               frontend/grammar.h
+               frontend/grammar.h parser/grammar.h
 EXTRA_DIST = include/client/sysdb.h.in include/sysdb.h.in
 
 pkginclude_HEADERS = include/sysdb.h
@@ -68,7 +68,8 @@ libsysdbclient_la_LIBADD = $(LIBLTDL) @OPENSSL_LIBS@
 # 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
+               frontend/grammar.y frontend/scanner.l \
+               parser/grammar.y parser/scanner.l
 libsysdb_fe_parser_la_CFLAGS = @COVERAGE_CFLAGS@ @PROFILING_CFLAGS@ \
                -DBUILD_DATE="\"$$( date --utc '+%F %T' ) (UTC)\""
 libsysdb_la_SOURCES = \
@@ -91,6 +92,8 @@ libsysdb_la_SOURCES = \
                frontend/session.c \
                frontend/store.c \
                frontend/query.c \
+               parser/ast.c include/parser/ast.h \
+               parser/parser.c include/parser/parser.h \
                utils/avltree.c include/utils/avltree.h \
                utils/channel.c include/utils/channel.h \
                utils/error.c include/utils/error.h \
@@ -232,23 +235,27 @@ sysdbd_LDADD += -dlopen plugins/store/network.la
 sysdbd_DEPENDENCIES += plugins/store/network.la
 endif
 
-include/client/sysdb.h: include/client/sysdb.h.in ../version
-       source ../version; sed \
+include/client/sysdb.h: include/client/sysdb.h.in $(abs_top_builddir)/version
+       mkdir -p include/client
+       source $(abs_top_builddir)/version; sed \
            -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \
            -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \
            -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \
            -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \
            -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
-           include/client/sysdb.h.in > include/client/sysdb.h
+           $(srcdir)/include/client/sysdb.h.in \
+           > include/client/sysdb.h
 
-include/sysdb.h: include/sysdb.h.in ../version
-       source ../version; sed \
+include/sysdb.h: include/sysdb.h.in $(abs_top_builddir)/version
+       mkdir -p include
+       source $(abs_top_builddir)/version; sed \
            -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \
            -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \
            -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \
            -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \
            -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \
-           include/sysdb.h.in > include/sysdb.h
+           $(srcdir)/include/sysdb.h.in \
+           > include/sysdb.h
 
-../version:
+$(abs_top_builddir)/version:
        cd .. && make version