Make API CTF-agnostic
[babeltrace.git] / plugins / ctf / common / metadata / Makefile.am
index fa8b34186f268e921bf7aa826f61679a60fa151a..c1f89c351e31a42edc01a88297410eafad071c6a 100644 (file)
@@ -1,11 +1,12 @@
 AM_CPPFLAGS += -I$(builddir) -I$(srcdir)
-BUILT_SOURCES = parser.h parser.c lexer.c
 AM_YFLAGS = -t -d -v
 
 noinst_LTLIBRARIES = libctf-parser.la libctf-ast.la
 
+BUILT_SOURCES = parser.h
+
 libctf_parser_la_SOURCES = lexer.l parser.y objstack.c
-# ctf-scanner-symbols.h is included to prefix generated yy_* symbols
+# scanner-symbols.h is included to prefix generated yy_* symbols
 # with bt_.
 libctf_parser_la_CPPFLAGS = $(AM_CPPFLAGS) \
                -include $(srcdir)/scanner-symbols.h
@@ -23,20 +24,55 @@ libctf_ast_la_SOURCES = \
        decoder.c \
        decoder.h \
        logging.c \
-       logging.h
+       logging.h \
+       ctf-meta.h \
+       ctf-meta-visitors.h \
+       ctf-meta-validate.c \
+       ctf-meta-update-meanings.c \
+       ctf-meta-update-in-ir.c \
+       ctf-meta-update-default-clock-classes.c \
+       ctf-meta-update-text-array-sequence.c \
+       ctf-meta-update-value-storing-indexes.c \
+       ctf-meta-translate.c \
+       ctf-meta-resolve.c
 
-libctf_ast_la_LIBADD =
+libctf_ast_la_LIBADD = $(UUID_LIBS)
 
-if BABELTRACE_BUILD_WITH_LIBUUID
-libctf_ast_la_LIBADD += -luuid
+if BABELTRACE_BUILD_WITH_MINGW
+libctf_ast_la_LIBADD += -lrpcrt4 -lintl -liconv -lole32 $(POPT_LIBS)
 endif
 
-if BABELTRACE_BUILD_WITH_LIBC_UUID
-libctf_ast_la_LIBADD += -lc
-endif
+# start with empty files to clean
+CLEANFILES =
 
-if BABELTRACE_BUILD_WITH_MINGW
-libctf_ast_la_LIBADD += -lrpcrt4 -lintl -liconv -lole32 -lpopt
-endif
+if HAVE_BISON
+# we have bison: we can clean the generated parser files
+CLEANFILES += parser.c parser.h 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."
+
+parser.c parser.h: parser.y
+       @echo $(ERR_MSG)
+       @false
+
+all-local: parser.c parser.h
+endif # HAVE_BISON
+
+if HAVE_FLEX
+# we have flex: we can clean the generated lexer files
+CLEANFILES += lexer.c
+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-lexer.c: lexer.l
+       @echo $(ERR_MSG)
+       @false
 
-CLEANFILES = $(BUILT_SOURCES) parser.output
+all-local: lexer.c
+endif # HAVE_FLEX
This page took 0.035217 seconds and 4 git commands to generate.