| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | |
| 3 | AM_CPPFLAGS += -I$(srcdir) -I$(builddir) |
| 4 | |
| 5 | noinst_LTLIBRARIES = libfilter.la |
| 6 | noinst_HEADERS = filter-ast.h \ |
| 7 | filter-symbols.h |
| 8 | |
| 9 | BUILT_SOURCES = filter-parser.hpp |
| 10 | |
| 11 | libfilter_la_SOURCES = \ |
| 12 | filter-lexer.lpp \ |
| 13 | filter-parser.ypp \ |
| 14 | filter-visitor-xml.cpp \ |
| 15 | filter-visitor-generate-ir.cpp \ |
| 16 | filter-visitor-ir-check-binary-op-nesting.cpp \ |
| 17 | filter-visitor-ir-validate-string.cpp \ |
| 18 | filter-visitor-ir-validate-globbing.cpp \ |
| 19 | filter-visitor-ir-normalize-glob-patterns.cpp \ |
| 20 | filter-visitor-generate-bytecode.cpp \ |
| 21 | filter-ast.h \ |
| 22 | filter-ir.h \ |
| 23 | memstream.h |
| 24 | libfilter_la_CXXFLAGS = -include filter-symbols.h $(AM_CXXFLAGS) |
| 25 | libfilter_la_LIBADD = $(top_builddir)/src/common/string-utils/libstring-utils.la |
| 26 | |
| 27 | AM_YFLAGS = -t -d -v -Wno-yacc |
| 28 | |
| 29 | # start with empty files to clean |
| 30 | CLEANFILES = |
| 31 | |
| 32 | if HAVE_BISON |
| 33 | # we have bison: we can clean the generated parser files |
| 34 | CLEANFILES += filter-parser.cpp filter-parser.hpp filter-parser.output |
| 35 | else # HAVE_BISON |
| 36 | # create target used to stop the build if we want to build the parser, |
| 37 | # but we don't have the necessary tool to do so |
| 38 | ERR_MSG = "Error: Cannot build target because bison is missing." |
| 39 | ERR_MSG += "Make sure bison is installed and run the configure script again." |
| 40 | |
| 41 | filter-parser.cpp filter-parser.hpp: filter-parser.ypp |
| 42 | @echo $(ERR_MSG) |
| 43 | @false |
| 44 | |
| 45 | all-local: filter-parser.cpp filter-parser.hpp |
| 46 | endif # HAVE_BISON |
| 47 | |
| 48 | if HAVE_FLEX |
| 49 | # we have flex: we can clean the generated lexer files |
| 50 | CLEANFILES += filter-lexer.cpp |
| 51 | else # HAVE_FLEX |
| 52 | # create target used to stop the build if we want to build the lexer, |
| 53 | # but we don't have the necessary tool to do so |
| 54 | ERR_MSG = "Error: Cannot build target because flex is missing." |
| 55 | ERR_MSG += "Make sure flex is installed and run the configure script again." |
| 56 | |
| 57 | filter-lexer.cpp: filter-lexer.lpp |
| 58 | @echo $(ERR_MSG) |
| 59 | @false |
| 60 | |
| 61 | all-local: filter-lexer.cpp |
| 62 | endif # HAVE_FLEX |