From 8e606f53acdac634db5ddfac815db449458ac296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Sj=C3=B6lund?= Date: Fri, 11 Jun 2010 07:12:30 +0000 Subject: [PATCH] - Fix for Makefile ANTLR dependencies with parallel makefiles - Now says "Nothing to be done for `all'." instead of running ANTLR regardless git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@5639 f25d12d1-65f4-0310-ae8a-bbce733d8d8e --- Compiler/absyn_builder/Makefile.in | 34 ++++++++++++++++++++++------ flat_modelica_parser/src/Makefile.in | 32 ++++++++++++++++++++------ modelica_parser/src/Makefile.in | 32 ++++++++++++++++++++------ 3 files changed, 77 insertions(+), 21 deletions(-) diff --git a/Compiler/absyn_builder/Makefile.in b/Compiler/absyn_builder/Makefile.in index cacab1b578e..b0ba592368a 100644 --- a/Compiler/absyn_builder/Makefile.in +++ b/Compiler/absyn_builder/Makefile.in @@ -75,13 +75,32 @@ absyn_builder.a : parser flat_parser $(OBJS) $(PARSER_OBJS) : parser flat_parser -walkeronce: walker.g modelica_parserTokenTypes.txt - $(ANTLR) $(ANTLRFLAGS) $< -$(walkergen): walkeronce -exprparseonce: expression_parser.g modelica_parserTokenTypes.txt - $(ANTLR) -glib $(PARSE_HOME)/src/modelica_parser.g $(ANTLRFLAGS) $< -$(exprparsegen): exprparseonce +walker.stamp: walker.g modelica_parserTokenTypes.txt + @rm -f walker.tmp + @touch walker.tmp + $(ANTLR) $(ANTLRFLAGS) $< + touch $(walkergen) + @mv -f walker.tmp $@ +$(walkergen): walker.stamp + ## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f walker.stamp; \ + $(MAKE) walker.stamp; \ + fi + +exprparse.stamp: expression_parser.g modelica_parserTokenTypes.txt + rm -f exprparse.tmp + touch exprparse.tmp + $(ANTLR) $(ANTLRFLAGS) $< + touch $(exprparsegen) + mv -f exprparse.tmp $@ +$(exprparsegen): exprparse.stamp + ## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f exprparse.stamp; \ + $(MAKE) exprparse.stamp; \ + fi $(PARSE_HOME)/src/modelica_parserTokenTypes.txt: parser flat_parser modelica_parserTokenTypes.txt : $(PARSE_HOME)/src/modelica_parserTokenTypes.txt @@ -100,4 +119,5 @@ parse.o : parse.cpp $(PARSE_HOME)/src/modelica_lexer.hpp $(PARSE_HOME)/src/model modelica_expression_parser.hpp \ $(PARSE_HOME)/src/parse_tree_dumper.hpp - +Makefile: Makefile.in + cd $(top_builddir); ./config.status diff --git a/flat_modelica_parser/src/Makefile.in b/flat_modelica_parser/src/Makefile.in index 2aa5012666d..da178432c49 100644 --- a/flat_modelica_parser/src/Makefile.in +++ b/flat_modelica_parser/src/Makefile.in @@ -51,15 +51,31 @@ vctarget: $(lexergen) $(parsergen) libmodelica_parser.a: $(OBJS) $(AR) $@ $(OBJS) -lexeronce: flat_modelica_lexer.g +lexer.stamp: flat_modelica_lexer.g + @rm -f lexer.tmp + @touch lexer.tmp $(ANTLR) $(ANTLRFLAGS) $< - -parseronce: flat_modelica_parser.g $(lexergen) + touch $(lexergen) + @mv -f lexer.tmp $@ +$(lexergen): lexer.stamp + ## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f lexer.stamp; \ + $(MAKE) lexer.stamp; \ + fi + +parser.stamp: flat_modelica_parser.g $(lexergen) + rm -f parser.tmp + touch parser.tmp $(ANTLR) $(ANTLRFLAGS) $< - -$(lexergen): lexeronce - -$(parsergen): lexeronce parseronce + touch $(parsergen) + mv -f parser.tmp $@ +$(parsergen): parser.stamp + ## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f parser.stamp; \ + $(MAKE) parser.stamp; \ + fi .c.o: $(CC) $(CFLAGS) -c $< @@ -89,3 +105,5 @@ parse_tree_dumper.o: #parse_tree_dumper.cpp: parse_tree_dumper.cpp #include $(DFILES) +Makefile: Makefile.in + cd $(top_builddir); ./config.status diff --git a/modelica_parser/src/Makefile.in b/modelica_parser/src/Makefile.in index 5c601748fb9..572bc7356b8 100644 --- a/modelica_parser/src/Makefile.in +++ b/modelica_parser/src/Makefile.in @@ -47,15 +47,31 @@ vctarget: $(lexergen) $(parsergen) libmodelica_parser.a: $(OBJS) $(AR) $@ $(OBJS) -lexeronce: modelica_lexer.g +lexer.stamp: modelica_lexer.g + @rm -f lexer.tmp + @touch lexer.tmp $(ANTLR) $(ANTLRFLAGS) $< - -parseronce: modelica_parser.g $(lexergen) + touch $(lexergen) + @mv -f lexer.tmp $@ +$(lexergen): lexer.stamp + ## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f lexer.stamp; \ + $(MAKE) lexer.stamp; \ + fi + +parser.stamp: modelica_parser.g $(lexergen) + rm -f parser.tmp + touch parser.tmp $(ANTLR) $(ANTLRFLAGS) $< - -$(lexergen): lexeronce - -$(parsergen): parseronce + touch $(parsergen) + mv -f parser.tmp $@ +$(parsergen): parser.stamp + ## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f parser.stamp; \ + $(MAKE) parser.stamp; \ + fi .c.o: $(CC) $(CFLAGS) -c $< @@ -80,3 +96,5 @@ token_names.o:token_names.cpp parse_tree_dumper.o:parse_tree_dumper.cpp parse_tree_dumper.hpp #include $(DFILES) +Makefile: Makefile.in + cd $(top_builddir); ./config.status