diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/mhmake/makefile | 11 | ||||
-rw-r--r-- | tools/mhmake/src/build.cpp | 2 | ||||
-rw-r--r-- | tools/mhmake/src/functions.cpp | 8 | ||||
-rw-r--r-- | tools/mhmake/src/mhmakefileparser.h | 1 | ||||
-rw-r--r-- | tools/mhmake/src/util.cpp | 1 | ||||
-rw-r--r-- | tools/mhmake/src/util.h | 4 |
6 files changed, 23 insertions, 4 deletions
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<string,function_f> mhmakefileparser::m_Functions;
@@ -617,6 +618,13 @@ string mhmakefileparser::f_words(const string & Arg) const }
///////////////////////////////////////////////////////////////////////////////
+// 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<fileinfo> 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<loadedmakefile> 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
{
|