From d74d9f4e60e48260ff1fad3ff00aaf000f111a66 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 22 Oct 2010 14:00:01 +0000 Subject: Increased gnu make compatibility Optimised --- tools/mhmake/src/mhmakeparser.y | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'tools/mhmake/src/mhmakeparser.y') diff --git a/tools/mhmake/src/mhmakeparser.y b/tools/mhmake/src/mhmakeparser.y index 107194d70..e2312b50e 100644 --- a/tools/mhmake/src/mhmakeparser.y +++ b/tools/mhmake/src/mhmakeparser.y @@ -1,6 +1,6 @@ /* This file is part of mhmake. * - * Copyright (C) 2001-2009 Marc Haesen + * Copyright (C) 2001-2010 marha@sourceforge.net * * Mhmake is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ %token COMMAND %token COMMA OPENBRACE CLOSEBRACE %token STRING DOLLAREXPR EQUAL COLON DOUBLECOLON -%token IMEQUAL PEQUAL OPTEQUAL PHONY AUTODEPS EXPORT NEWLINE INCLUDEMAK SPACE +%token IMEQUAL PEQUAL OPTEQUAL PHONY AUTODEPS EXPORT NEWLINE INCLUDEMAK SPACE VPATH %type expression nonspaceexpression simpleexpression %type maybeemptyexpression @@ -69,6 +69,7 @@ statements : ; statement: NEWLINE | + SPACE | includemak | ruledef | phonyrule | @@ -78,6 +79,7 @@ statement: NEWLINE | pvarassignment | optvarassignment | exportrule | + vpathrule | COMMAND { if (!m_pCurrentRule) @@ -129,9 +131,9 @@ rulecolon: COLON {$$=0;} | phonyrule: PHONY COLON expression { - vector< refptr > Items; + vector Items; SplitToItems(ExpandExpression($3),Items); - vector< refptr >::iterator pIt=Items.begin(); + vector::iterator pIt=Items.begin(); while (pIt!=Items.end()) { (*pIt)->SetPhony(); @@ -145,9 +147,9 @@ phonyrule: PHONY COLON expression autodepsrule: AUTODEPS COLON expression { - vector< refptr > Items; + vector Items; SplitToItems(ExpandExpression($3),Items); - vector< refptr >::iterator pIt=Items.begin(); + vector::iterator pIt=Items.begin(); while (pIt!=Items.end()) { (*pIt)->SetAutoDepsScan(this); @@ -173,6 +175,13 @@ exportstring : STRING } ; +vpathrule: VPATH SPACE nonspaceexpression SPACE expression NEWLINE + { + SetvPath(ExpandExpression($3),ExpandExpression($5)); + PRINTF(("Setting vpath %s to %s\n",$3.c_str(),ExpandExpression($5).c_str())); + } +; + varassignment: STRING EQUAL maybeemptyexpression { m_Variables[$1]=$3; -- cgit v1.2.3