diff options
-rw-r--r-- | tools/mhmake/src/mhmakefileparser.cpp | 10 | ||||
-rw-r--r-- | tools/mhmake/src/util.h | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/tools/mhmake/src/mhmakefileparser.cpp b/tools/mhmake/src/mhmakefileparser.cpp index e9d50a704..30916878e 100644 --- a/tools/mhmake/src/mhmakefileparser.cpp +++ b/tools/mhmake/src/mhmakefileparser.cpp @@ -252,7 +252,15 @@ string mhmakefileparser::ExpandMacro(const string &Expr) const string ToStr(pTo);
#ifdef WIN32
if (IsFileName)
- return QuoteFileName(Substitute(UnquoteFileName(ToSubst),SrcStr,ToStr));
+ {
+ matchres Res;
+ string FileName(UnquoteFileName(ToSubst));
+ if (PercentMatch(FileName,UnquoteFileName(SrcStr),&Res))
+ {
+ FileName=ReplaceWithStem(UnquoteFileName(ToStr),Res.m_Stem);
+ }
+ return QuoteFileName(FileName);
+ }
#endif
return Substitute(ToSubst,SrcStr,ToStr);
}
diff --git a/tools/mhmake/src/util.h b/tools/mhmake/src/util.h index fc39f9e84..1d3cfbb66 100644 --- a/tools/mhmake/src/util.h +++ b/tools/mhmake/src/util.h @@ -50,7 +50,7 @@ #define PLATFORM "linux"
#endif
-#define MHMAKEVER "2.0.3"
+#define MHMAKEVER "2.0.4"
class makecommand
{
|