aboutsummaryrefslogtreecommitdiff
path: root/tools/mhmake/src/mhmakefileparser.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-11-01 15:42:39 +0000
committermarha <marha@users.sourceforge.net>2010-11-01 15:42:39 +0000
commitc3d55347b14c80f553ab8c487baded1a44acf68c (patch)
treec2f8ea3bfe70d8d3cde803fd854879b44e2c4f4e /tools/mhmake/src/mhmakefileparser.h
parent6ed6717dee7a472ae12f3f0e3c526c68425da8e7 (diff)
downloadvcxsrv-c3d55347b14c80f553ab8c487baded1a44acf68c.tar.gz
vcxsrv-c3d55347b14c80f553ab8c487baded1a44acf68c.tar.bz2
vcxsrv-c3d55347b14c80f553ab8c487baded1a44acf68c.zip
Implemented foreach function.
wildcard can now have multiple arguments
Diffstat (limited to 'tools/mhmake/src/mhmakefileparser.h')
-rw-r--r--tools/mhmake/src/mhmakefileparser.h59
1 files changed, 32 insertions, 27 deletions
diff --git a/tools/mhmake/src/mhmakefileparser.h b/tools/mhmake/src/mhmakefileparser.h
index 6bdaa911d..f1c9cb280 100644
--- a/tools/mhmake/src/mhmakefileparser.h
+++ b/tools/mhmake/src/mhmakefileparser.h
@@ -36,7 +36,7 @@ struct TOKENVALUE
};
class mhmakefileparser;
-typedef string (mhmakefileparser::*function_f)(const string &) const;
+typedef string (mhmakefileparser::*function_f)(const string &, const string *) const;
struct funcdef
{
@@ -189,6 +189,10 @@ public:
{
m_Variables[Var]=Val;
}
+ void DeleteVariable(string Var)
+ {
+ m_Variables.erase(Var);
+ }
void EnableAutoDepRescan(void)
{
m_ForceAutoDepRescan=true;
@@ -251,32 +255,33 @@ public:
static map<string,function_f> m_Functions;
static bool m_FunctionsInitialised;
static void InitFuncs(void);
- string f_filter(const string &) const;
- string f_call(const string &) const;
- string f_if(const string &) const;
- string f_findstring(const string &) const;
- string f_firstword(const string &) const;
- string f_wildcard(const string &) const;
- string f_subst(const string &) const;
- string f_patsubst(const string &) const;
- string f_concat(const string &) const;
- string f_basename(const string & Arg) const;
- string f_notdir(const string & Arg) const;
- string f_dir(const string & Arg) const;
- string f_shell(const string & Arg) const;
- string f_relpath(const string & Arg) const;
- string f_toupper(const string & Arg) const;
- string f_tolower(const string & Arg) const;
- string f_exist(const string & Arg) const;
- string f_filesindirs(const string & Arg) const;
- string f_fullname(const string & Arg) const;
- string f_addprefix(const string & Arg) const;
- string f_addsuffix(const string & Arg) const;
- string f_filterout(const string & Arg) const;
- string f_word(const string & Arg) const;
- string f_words(const string & Arg) const;
- string f_strip(const string & Arg) const;
- string f_which(const string & Arg) const;
+ string f_filter(const string &, const string *pOriExpr) const;
+ string f_call(const string &, const string *pOriExpr) const;
+ string f_if(const string &, const string *pOriExpr) const;
+ string f_findstring(const string &, const string *pOriExpr) const;
+ string f_firstword(const string &, const string *pOriExpr) const;
+ string f_wildcard(const string &, const string *pOriExpr) const;
+ string f_subst(const string &, const string *pOriExpr) const;
+ string f_patsubst(const string &, const string *pOriExpr) const;
+ string f_concat(const string &, const string *pOriExpr) const;
+ string f_basename(const string & Arg, const string *pOriExpr) const;
+ string f_notdir(const string & Arg, const string *pOriExpr) const;
+ string f_dir(const string & Arg, const string *pOriExpr) const;
+ string f_shell(const string & Arg, const string *pOriExpr) const;
+ string f_relpath(const string & Arg, const string *pOriExpr) const;
+ string f_toupper(const string & Arg, const string *pOriExpr) const;
+ string f_tolower(const string & Arg, const string *pOriExpr) const;
+ string f_exist(const string & Arg, const string *pOriExpr) const;
+ string f_filesindirs(const string & Arg, const string *pOriExpr) const;
+ string f_fullname(const string & Arg, const string *pOriExpr) const;
+ string f_addprefix(const string & Arg, const string *pOriExpr) const;
+ string f_addsuffix(const string & Arg, const string *pOriExpr) const;
+ string f_filterout(const string & Arg, const string *pOriExpr) const;
+ string f_word(const string & Arg, const string *pOriExpr) const;
+ string f_words(const string & Arg, const string *pOriExpr) const;
+ string f_strip(const string & Arg, const string *pOriExpr) const;
+ string f_which(const string & Arg, const string *pOriExpr) const;
+ string f_foreach(const string & Arg, const string *pOriExpr) const;
fileinfo* GetFirstTarget() const
{