ctf: compile plugin as C++
[babeltrace.git] / src / plugins / ctf / common / metadata / Makefile.am
1 # SPDX-License-Identifier: MIT
2
3 AM_CPPFLAGS += -I$(builddir) -I$(srcdir)
4 AM_YFLAGS = -t -d -v -Wno-yacc
5
6 noinst_LTLIBRARIES = libctf-parser.la libctf-ast.la
7
8 BUILT_SOURCES = parser.hpp
9
10 libctf_parser_la_SOURCES = lexer.lpp parser.ypp objstack.cpp
11 # scanner-symbols.h is included to prefix generated yy_* symbols
12 # with bt_.
13 libctf_parser_la_CPPFLAGS = $(AM_CPPFLAGS) \
14 -include $(srcdir)/scanner-symbols.hpp
15
16 # This library contains (mostly) generated code, silence some warnings that it
17 # produces.
18 libctf_parser_la_CXXFLAGS = $(AM_CXXFLAGS) \
19 -Wno-unused-function \
20 -Wno-null-dereference
21
22 libctf_ast_la_SOURCES = \
23 visitor-generate-ir.cpp \
24 visitor-semantic-validator.cpp \
25 visitor-parent-links.cpp \
26 ast.hpp \
27 objstack.hpp \
28 parser.hpp \
29 parser-wrap.hpp \
30 scanner.hpp \
31 scanner-symbols.hpp \
32 decoder.cpp \
33 decoder.hpp \
34 decoder-packetized-file-stream-to-buf.cpp \
35 decoder-packetized-file-stream-to-buf.hpp \
36 logging.cpp \
37 logging.hpp \
38 ctf-meta.hpp \
39 ctf-meta-visitors.hpp \
40 ctf-meta-validate.cpp \
41 ctf-meta-update-meanings.cpp \
42 ctf-meta-update-in-ir.cpp \
43 ctf-meta-update-default-clock-classes.cpp \
44 ctf-meta-update-text-array-sequence.cpp \
45 ctf-meta-update-alignments.cpp \
46 ctf-meta-update-value-storing-indexes.cpp \
47 ctf-meta-update-stream-class-config.cpp \
48 ctf-meta-warn-meaningless-header-fields.cpp \
49 ctf-meta-translate.cpp \
50 ctf-meta-resolve.cpp \
51 ctf-meta-configure-ir-trace.cpp \
52 ctf-meta-configure-ir-trace.hpp
53
54 if BABELTRACE_BUILD_WITH_MINGW
55 libctf_ast_la_LIBADD = -lintl -liconv -lole32
56 endif
57
58 # start with empty files to clean
59 CLEANFILES =
60
61 if HAVE_BISON
62 # we have bison: we can clean the generated parser files
63 CLEANFILES += parser.cpp parser.hpp parser.output
64 else # HAVE_BISON
65 # create target used to stop the build if we want to build the parser,
66 # but we don't have the necessary tool to do so
67 ERR_MSG = "Error: Cannot build target because bison is missing."
68 ERR_MSG += "Make sure bison is installed and run the configure script again."
69
70 parser.cpp parser.hpp: parser.ypp
71 @echo $(ERR_MSG)
72 @false
73
74 all-local: parser.cpp parser.hpp
75 endif # HAVE_BISON
76
77 if HAVE_FLEX
78 # we have flex: we can clean the generated lexer files
79 CLEANFILES += lexer.cpp
80 else # HAVE_FLEX
81 # create target used to stop the build if we want to build the lexer,
82 # but we don't have the necessary tool to do so
83 ERR_MSG = "Error: Cannot build target because flex is missing."
84 ERR_MSG += "Make sure flex is installed and run the configure script again."
85
86 filter-lexer.cpp: lexer.lpp
87 @echo $(ERR_MSG)
88 @false
89
90 all-local: lexer.cpp
91 endif # HAVE_FLEX
This page took 0.031508 seconds and 4 git commands to generate.