From f01ad2c4e088fea9f3b6d918d910d7fd17519ade Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 23 Nov 2009 14:19:51 +0000 Subject: Implemented which function. --- tools/mhmake/makefile | 11 ++++++++++- tools/mhmake/src/build.cpp | 2 +- tools/mhmake/src/functions.cpp | 8 ++++++++ tools/mhmake/src/mhmakefileparser.h | 1 + tools/mhmake/src/util.cpp | 1 - tools/mhmake/src/util.h | 4 +++- 6 files changed, 23 insertions(+), 4 deletions(-) (limited to 'tools') diff --git a/tools/mhmake/makefile b/tools/mhmake/makefile index dbdceb017..504f9af76 100644 --- a/tools/mhmake/makefile +++ b/tools/mhmake/makefile @@ -6,7 +6,16 @@ all: debug\mhmake_dbg.exe release\mhmake.exe DEPS=$(wildcard src\*) -VCSTUDIO:=vcexpress # choose devenv.com if you have the commercial edition +ifneq $(which devenv.com), +VCSTUDIO=devenv.com +endif +ifneq $(which vcexpress.exe), +VCSTUDIO=vcexpress +endif + +ifndef VCSTUDIO +$(error Environment not set correctly for building Visual Studio projects) +endif debug\mhmake_dbg.exe: $(DEPS) $(VCSTUDIO) $(MHMAKESLNFILE) /build Debug diff --git a/tools/mhmake/src/build.cpp b/tools/mhmake/src/build.cpp index a9437504f..67b5bfffb 100644 --- a/tools/mhmake/src/build.cpp +++ b/tools/mhmake/src/build.cpp @@ -295,7 +295,7 @@ found: #endif /*****************************************************************************/ -string SearchCommand(const string &Command, const string &Extension="") +string SearchCommand(const string &Command, const string &Extension) { char FullCommand[MAX_PATH]=""; unsigned long Size=sizeof(FullCommand); diff --git a/tools/mhmake/src/functions.cpp b/tools/mhmake/src/functions.cpp index 6ba64c3c1..3765bc37c 100644 --- a/tools/mhmake/src/functions.cpp +++ b/tools/mhmake/src/functions.cpp @@ -52,6 +52,7 @@ funcdef mhmakefileparser::m_FunctionsDef[]= { ,{"word" ,&mhmakefileparser::f_word} ,{"words" ,&mhmakefileparser::f_words} ,{"strip" ,&mhmakefileparser::f_strip} + ,{"which" ,&mhmakefileparser::f_which} }; map mhmakefileparser::m_Functions; @@ -616,6 +617,13 @@ string mhmakefileparser::f_words(const string & Arg) const return szNumber; } +/////////////////////////////////////////////////////////////////////////////// +// Search for a command in the enivornment path +string mhmakefileparser::f_which(const string & Arg) const +{ + return SearchCommand(Arg); +} + /////////////////////////////////////////////////////////////////////////////// // Removes leading and trailing space string mhmakefileparser::f_strip(const string & Arg) const diff --git a/tools/mhmake/src/mhmakefileparser.h b/tools/mhmake/src/mhmakefileparser.h index 1f321b019..32d4ad88a 100644 --- a/tools/mhmake/src/mhmakefileparser.h +++ b/tools/mhmake/src/mhmakefileparser.h @@ -216,6 +216,7 @@ public: 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; const refptr GetFirstTarget() const { diff --git a/tools/mhmake/src/util.cpp b/tools/mhmake/src/util.cpp index a6f042446..0e227989a 100644 --- a/tools/mhmake/src/util.cpp +++ b/tools/mhmake/src/util.cpp @@ -256,7 +256,6 @@ refptr LOADEDMAKEFILES::find(const loadedmakefile &ToSearch) LOADEDMAKEFILES g_LoadedMakefiles; bool OsExeCommand(const string &Command,const string &Params,bool IgnoreError,string *pOutput); -string SearchCommand(const string &Command, const string &Extension=""); /////////////////////////////////////////////////////////////////////////////// loadedmakefile::loadedmakefile_statics::loadedmakefile_statics() diff --git a/tools/mhmake/src/util.h b/tools/mhmake/src/util.h index 2665e0e0c..1634f5135 100644 --- a/tools/mhmake/src/util.h +++ b/tools/mhmake/src/util.h @@ -50,7 +50,9 @@ #define PLATFORM "linux" #endif -#define MHMAKEVER "1.4.7" +#define MHMAKEVER "1.4.8" + +string SearchCommand(const string &Command, const string &Extension=""); class makecommand { -- cgit v1.2.3