From ac80633ce275edddaa3e4fa2ae0c048ed00f7d74 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 22 Mar 2010 10:29:25 +0000 Subject: svn merge -c505 ^/branches/released . --- tools/mhmake/src/fileinfo.h | 7 ++++++- tools/mhmake/src/rule.cpp | 11 +++++++++++ tools/mhmake/src/rule.h | 1 + tools/mhmake/src/util.h | 2 +- 4 files changed, 19 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/mhmake/src/fileinfo.h b/tools/mhmake/src/fileinfo.h index 16ca414e2..6c9800f38 100644 --- a/tools/mhmake/src/fileinfo.h +++ b/tools/mhmake/src/fileinfo.h @@ -351,9 +351,14 @@ public: { return (m_BuildStatus&2)==2; } - void SetBuilding(void) + void SetBuilding(bool Others=true) { m_BuildStatus|=2; + /* Check if there are targets build by the rule attached to this target, if so set them also to building */ + if (Others && m_pRule) + { + m_pRule->SetTargetsIsBuilding(this); + } } void ClearBuilding(void) { diff --git a/tools/mhmake/src/rule.cpp b/tools/mhmake/src/rule.cpp index f9485b560..aa2ce1a13 100644 --- a/tools/mhmake/src/rule.cpp +++ b/tools/mhmake/src/rule.cpp @@ -193,6 +193,17 @@ void rule::SetTargetsIsBuild(uint32 Md5_32) It++; } } +/////////////////////////////////////////////////////////////////////////////// +void rule::SetTargetsIsBuilding(const fileinfo *pSrc) +{ + vector< fileinfo* >::iterator It=m_Targets.begin(); + while (It!=m_Targets.end()) + { + if ((*It)!=pSrc) + (*It)->SetBuilding(false); + It++; + } +} #ifdef _DEBUG diff --git a/tools/mhmake/src/rule.h b/tools/mhmake/src/rule.h index c8235a8bc..bfc00bb15 100644 --- a/tools/mhmake/src/rule.h +++ b/tools/mhmake/src/rule.h @@ -72,6 +72,7 @@ public: m_Targets.push_back(pTarget); } void SetTargetsIsBuild(uint32 Md5_32); + void SetTargetsIsBuilding(const fileinfo *pSrc); }; class IMPLICITRULE diff --git a/tools/mhmake/src/util.h b/tools/mhmake/src/util.h index 1d3cfbb66..f29b9cbcf 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.4" +#define MHMAKEVER "2.0.5" class makecommand { -- cgit v1.2.3