From f2523be58f4546b530ab03ece3a9dd1183f4deec Mon Sep 17 00:00:00 2001
From: marha <marha@users.sourceforge.net>
Date: Fri, 3 Sep 2010 15:17:50 +0000
Subject: Solved possible build error when having rules with multiple targets

---
 tools/mhmake/src/commandqueue.cpp | 12 +++++++++++-
 tools/mhmake/src/util.h           |  2 +-
 2 files changed, 12 insertions(+), 2 deletions(-)

(limited to 'tools/mhmake')

diff --git a/tools/mhmake/src/commandqueue.cpp b/tools/mhmake/src/commandqueue.cpp
index 306142d2b..ba1a7d073 100644
--- a/tools/mhmake/src/commandqueue.cpp
+++ b/tools/mhmake/src/commandqueue.cpp
@@ -344,7 +344,17 @@ mh_time_t commandqueue::WaitForTarget(const refptr<fileinfo> &pTarget)
         {
           // There should still be active entries, otherwise this is a serious bug
           if (!m_NrActiveEntries && !Return)
-            throw("Fatal error: WaitForTarget "+pTarget->GetQuotedFullFileName()+": no active targets anymore.");
+          {
+            // This may happen when having multiple target rules and pTarget was build when on of the other targets
+            // was build. so first check if the pTarget was not build in the mean time. If so, this is not an error
+            if (pTarget->IsBuild())
+            {
+              Return=true;
+              break;
+            }
+            else
+              throw("Fatal error: WaitForTarget "+pTarget->GetQuotedFullFileName()+": no active targets anymore.");
+          }
           else
             break;
         }
diff --git a/tools/mhmake/src/util.h b/tools/mhmake/src/util.h
index aff7d642a..5afe9aecf 100644
--- a/tools/mhmake/src/util.h
+++ b/tools/mhmake/src/util.h
@@ -50,7 +50,7 @@
 #define PLATFORM     "linux"
 #endif
 
-#define MHMAKEVER    "2.2.1"
+#define MHMAKEVER    "2.2.2"
 
 class makecommand
 {
-- 
cgit v1.2.3