diff options
Diffstat (limited to 'src/parser/smt/Makefile.am')
-rw-r--r-- | src/parser/smt/Makefile.am | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/src/parser/smt/Makefile.am b/src/parser/smt/Makefile.am index aa6835ce4..8e2aa77b1 100644 --- a/src/parser/smt/Makefile.am +++ b/src/parser/smt/Makefile.am @@ -4,11 +4,21 @@ AM_CPPFLAGS = -D__BUILDING_CVC4PARSERLIB noinst_LTLIBRARIES = libparsersmt.la +ANTLR_TOKEN_STUFF = \ + @srcdir@/generated/SmtVocabularyTokenTypes.hpp \ + @srcdir@/generated/SmtVocabularyTokenTypes.txt \ + @srcdir@/generated/AntlrSmtParserTokenTypes.hpp \ + @srcdir@/generated/AntlrSmtParserTokenTypes.txt +ANTLR_LEXER_STUFF = \ + @srcdir@/generated/AntlrSmtLexer.hpp \ + @srcdir@/generated/AntlrSmtLexer.cpp + $(ANTLR_TOKEN_STUFF) +ANTLR_PARSER_STUFF = \ + @srcdir@/generated/AntlrSmtParser.hpp \ + @srcdir@/generated/AntlrSmtParser.cpp ANTLR_STUFF = \ - AntlrSmtLexer.hpp \ - AntlrSmtLexer.cpp \ - AntlrSmtParser.hpp \ - AntlrSmtParser.cpp + $(ANTLR_LEXER_STUFF) \ + $(ANTLR_PARSER_STUFF) libparsersmt_la_SOURCES = \ SmtLexer.g \ @@ -16,14 +26,23 @@ libparsersmt_la_SOURCES = \ $(ANTLR_STUFF) BUILT_SOURCES = $(ANTLR_STUFF) -CLEAN_FILES = $(ANTLR_STUFF) +dist-hook: $(ANTLR_STUFF) +MAINTAINERCLEANFILES = $(ANTLR_STUFF) +maintainerclean-local: + -rmdir @srcdir@/generated + -rm -f @srcdir@/stamp-generated -"@srcdir@/.generated": - mkdir -p "@srcdir@/generated" - -"@srcdir@/generated/AntlrSmtLexer.cpp": SmtLexer.g "@srcdir@/generated" - $(ANTLR) -o "@srcdir@/generated" "$<" -"@srcdir@/generated/AntlrSmtParser.cpp": SmtParser.g SmtVocabularyTokenTypes.hpp SmtVocabularyTokenTypes.txt "@srcdir@/generated" - $(ANTLR) -o "@srcdir@/generated" "$<" -AntlrSmtLexer.hpp SmtVocabularyTokenTypes.hpp SmtVocabularyTokenTypes.txt: AntlrSmtLexer.cpp -AntlrSmtParser.hpp: AntlrSmtParser.cpp +@srcdir@/stamp-generated: + mkdir -p @srcdir@/generated + touch @srcdir@/stamp-generated +# antlr doesn't overwrite output files, it just leaves them. So we have to delete them first. +$(ANTLR_LEXER_STUFF): SmtLexer.g @srcdir@/stamp-generated + -rm -f $(ANTLR_LEXER_STUFF) + $(ANTLR) -o "@srcdir@/generated" "@srcdir@/SmtLexer.g" +# doesn't actually depend on the lexer, but if we're doing parallel +# make and the lexer needs to be rebuilt, we have to keep the rules +# from running in parallel (since the token files will be deleted & +# recreated) +$(ANTLR_PARSER_STUFF): SmtParser.g SmtLexer.g $(ANTLR_TOKEN_STUFF) @srcdir@/stamp-generated + -rm -f $(ANTLR_PARSER_STUFF) + $(ANTLR) -o "@srcdir@/generated" "@srcdir@/SmtParser.g" |