| 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.h |
| 9 | |
| 10 | libctf_parser_la_SOURCES = lexer.l parser.y objstack.c |
| 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.h |
| 15 | |
| 16 | # This library contains (mostly) generated code, silence some warnings that it |
| 17 | # produces. |
| 18 | libctf_parser_la_CFLAGS = $(AM_CFLAGS) \ |
| 19 | -Wno-unused-function \ |
| 20 | -Wno-null-dereference |
| 21 | |
| 22 | libctf_ast_la_SOURCES = \ |
| 23 | visitor-generate-ir.c \ |
| 24 | visitor-semantic-validator.c \ |
| 25 | visitor-parent-links.c \ |
| 26 | ast.h \ |
| 27 | objstack.h \ |
| 28 | parser.h \ |
| 29 | parser-wrap.h \ |
| 30 | scanner.h \ |
| 31 | scanner-symbols.h \ |
| 32 | decoder.c \ |
| 33 | decoder.h \ |
| 34 | decoder-packetized-file-stream-to-buf.c \ |
| 35 | decoder-packetized-file-stream-to-buf.h \ |
| 36 | logging.c \ |
| 37 | logging.h \ |
| 38 | ctf-meta.h \ |
| 39 | ctf-meta-visitors.h \ |
| 40 | ctf-meta-validate.c \ |
| 41 | ctf-meta-update-meanings.c \ |
| 42 | ctf-meta-update-in-ir.c \ |
| 43 | ctf-meta-update-default-clock-classes.c \ |
| 44 | ctf-meta-update-text-array-sequence.c \ |
| 45 | ctf-meta-update-alignments.c \ |
| 46 | ctf-meta-update-value-storing-indexes.c \ |
| 47 | ctf-meta-update-stream-class-config.c \ |
| 48 | ctf-meta-warn-meaningless-header-fields.c \ |
| 49 | ctf-meta-translate.c \ |
| 50 | ctf-meta-resolve.c \ |
| 51 | ctf-meta-configure-ir-trace.c \ |
| 52 | ctf-meta-configure-ir-trace.h |
| 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.c parser.h 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.c parser.h: parser.y |
| 71 | @echo $(ERR_MSG) |
| 72 | @false |
| 73 | |
| 74 | all-local: parser.c parser.h |
| 75 | endif # HAVE_BISON |
| 76 | |
| 77 | if HAVE_FLEX |
| 78 | # we have flex: we can clean the generated lexer files |
| 79 | CLEANFILES += lexer.c |
| 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.c: lexer.l |
| 87 | @echo $(ERR_MSG) |
| 88 | @false |
| 89 | |
| 90 | all-local: lexer.c |
| 91 | endif # HAVE_FLEX |