+endif # BUILD_LIB_CONSUMER
+
+
+# libfd-tracker
+noinst_LTLIBRARIES += libfd-tracker.la
+libfd_tracker_la_SOURCES = \
+ fd-tracker/fd-tracker.cpp \
+ fd-tracker/fd-tracker.hpp \
+ fd-tracker/inode.cpp \
+ fd-tracker/inode.hpp \
+ fd-tracker/utils.cpp \
+ fd-tracker/utils.hpp \
+ fd-tracker/utils-poll.cpp
+
+# libfilter
+noinst_LTLIBRARIES += libfilter.la
+
+libfilter_la_SOURCES = \
+ filter/filter-ast.hpp \
+ filter/filter-ir.hpp \
+ filter/filter-lexer.lpp \
+ filter/filter-parser.ypp \
+ filter/filter-symbols.hpp \
+ filter/filter-visitor-generate-bytecode.cpp \
+ filter/filter-visitor-generate-ir.cpp \
+ filter/filter-visitor-ir-check-binary-op-nesting.cpp \
+ filter/filter-visitor-ir-normalize-glob-patterns.cpp \
+ filter/filter-visitor-ir-validate-globbing.cpp \
+ filter/filter-visitor-ir-validate-string.cpp \
+ filter/filter-visitor-xml.cpp \
+ filter/memstream.hpp
+
+BUILT_SOURCES = filter/filter-parser.hpp
+
+libfilter_la_CXXFLAGS = -include filter-symbols.hpp $(AM_CXXFLAGS)
+libfilter_la_CPPFLAGS = -I$(srcdir)/filter -I$(builddir)/filter $(AM_CPPFLAGS)
+
+AM_YFLAGS = -t -d -v -Wno-yacc
+
+# start with empty files to clean
+CLEANFILES =
+
+if HAVE_BISON
+# we have bison: we can clean the generated parser files
+CLEANFILES += \
+ filter/filter-parser.cpp \
+ filter/filter-parser.hpp \
+ filter/filter-parser.output
+else # HAVE_BISON
+# create target used to stop the build if we want to build the parser,
+# but we don't have the necessary tool to do so
+ERR_MSG = "Error: Cannot build target because bison is missing."
+ERR_MSG += "Make sure bison is installed and run the configure script again."
+
+filter/filter-parser.cpp filter/filter-parser.hpp: filter/filter-parser.ypp
+ @echo $(ERR_MSG)
+ @false
+
+all-local: filter/filter-parser.cpp filter/filter-parser.hpp
+endif # HAVE_BISON
+
+if HAVE_FLEX
+# we have flex: we can clean the generated lexer files
+CLEANFILES += filter/filter-lexer.cpp
+else # HAVE_FLEX
+# create target used to stop the build if we want to build the lexer,
+# but we don't have the necessary tool to do so
+ERR_MSG = "Error: Cannot build target because flex is missing."
+ERR_MSG += "Make sure flex is installed and run the configure script again."
+
+filter/filter-lexer.cpp: filter/filter-lexer.lpp
+ @echo $(ERR_MSG)
+ @false
+
+all-local: filter/filter-lexer.cpp
+endif # HAVE_FLEX
+
+
+# libhashtable
+noinst_LTLIBRARIES += libhashtable.la
+libhashtable_la_SOURCES = \
+ hashtable/hashtable.cpp \
+ hashtable/hashtable.hpp \
+ hashtable/hashtable-symbols.hpp \
+ hashtable/utils.cpp \
+ hashtable/utils.hpp
+
+libhashtable_la_LIBADD = $(URCU_LIBS) $(URCU_CDS_LIBS)
+