aboutsummaryrefslogtreecommitdiff
path: root/tools/mhmake
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-03-22 10:29:25 +0000
committermarha <marha@users.sourceforge.net>2010-03-22 10:29:25 +0000
commitac80633ce275edddaa3e4fa2ae0c048ed00f7d74 (patch)
tree7d4ceffed59f2782533d3485c075f605ab1b9c61 /tools/mhmake
parent6fc6cb8c935fab174e4582909c1cb4f12bd598bf (diff)
downloadvcxsrv-ac80633ce275edddaa3e4fa2ae0c048ed00f7d74.tar.gz
vcxsrv-ac80633ce275edddaa3e4fa2ae0c048ed00f7d74.tar.bz2
vcxsrv-ac80633ce275edddaa3e4fa2ae0c048ed00f7d74.zip
svn merge -c505 ^/branches/released .
Diffstat (limited to 'tools/mhmake')
-rw-r--r--tools/mhmake/src/fileinfo.h7
-rw-r--r--tools/mhmake/src/rule.cpp11
-rw-r--r--tools/mhmake/src/rule.h1
-rw-r--r--tools/mhmake/src/util.h2
4 files changed, 19 insertions, 2 deletions
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
{