summaryrefslogtreecommitdiff
path: root/src/parser/cvc/Makefile.am
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2009-12-08 22:53:58 +0000
committerMorgan Deters <mdeters@gmail.com>2009-12-08 22:53:58 +0000
commit2de2a7a3a31f59425688c2dc5e39f936477ae5f9 (patch)
tree6e51d645fc6d06244d661ee9649e0af323955caa /src/parser/cvc/Makefile.am
parent0e1168af7a33263c73e1c51055c8980153d8d3b7 (diff)
parser build fixes
Diffstat (limited to 'src/parser/cvc/Makefile.am')
-rw-r--r--src/parser/cvc/Makefile.am44
1 files changed, 33 insertions, 11 deletions
diff --git a/src/parser/cvc/Makefile.am b/src/parser/cvc/Makefile.am
index b132ede5c..979af52b2 100644
--- a/src/parser/cvc/Makefile.am
+++ b/src/parser/cvc/Makefile.am
@@ -4,11 +4,21 @@ AM_CPPFLAGS = -D__BUILDING_CVC4PARSERLIB
noinst_LTLIBRARIES = libparsercvc.la
+ANTLR_TOKEN_STUFF = \
+ @srcdir@/generated/CvcVocabularyTokenTypes.hpp \
+ @srcdir@/generated/CvcVocabularyTokenTypes.txt \
+ @srcdir@/generated/AntlrCvcParserTokenTypes.hpp \
+ @srcdir@/generated/AntlrCvcParserTokenTypes.txt
+ANTLR_LEXER_STUFF = \
+ @srcdir@/generated/AntlrCvcLexer.hpp \
+ @srcdir@/generated/AntlrCvcLexer.cpp \
+ $(ANTLR_TOKEN_STUFF)
+ANTLR_PARSER_STUFF = \
+ @srcdir@/generated/AntlrCvcParser.hpp \
+ @srcdir@/generated/AntlrCvcParser.cpp
ANTLR_STUFF = \
- AntlrCvcLexer.hpp \
- AntlrCvcLexer.cpp \
- AntlrCvcParser.hpp \
- AntlrCvcParser.cpp
+ $(ANTLR_LEXER_STUFF) \
+ $(ANTLR_PARSER_STUFF)
libparsercvc_la_SOURCES = \
CvcLexer.g \
@@ -16,11 +26,23 @@ libparsercvc_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
-AntlrCvcLexer.cpp: CvcLexer.g
- $(ANTLR) -o "@builddir@" "$<"
-AntlrCvcParser.cpp: CvcParser.g CvcVocabularyTokenTypes.hpp CvcVocabularyTokenTypes.txt
- $(ANTLR) -o "@builddir@" "$<"
-AntlrCvcLexer.hpp CvcVocabularyTokenTypes.hpp CvcVocabularyTokenTypes.txt: AntlrCvcLexer.cpp
-AntlrCvcParser.hpp: AntlrCvcParser.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): CvcLexer.g @srcdir@/generated
+ -rm -f $(ANTLR_LEXER_STUFF)
+ $(ANTLR) -o "@srcdir@/generated" "@srcdir@/CvcLexer.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): CvcParser.g CvcLexer.g $(ANTLR_TOKEN_STUFF) @srcdir@/generated
+ -rm -f $(ANTLR_PARSER_STUFF)
+ $(ANTLR) -o "@srcdir@/generated" "@srcdir@/CvcParser.g"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback