aboutsummaryrefslogtreecommitdiff
path: root/tools/mhmake/src/mhmakefileparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mhmake/src/mhmakefileparser.cpp')
-rw-r--r--tools/mhmake/src/mhmakefileparser.cpp10
1 files changed, 9 insertions, 1 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);
}