From a97df5e13566cc2ccbaf51a395b85b03b363a07f Mon Sep 17 00:00:00 2001
From: Stephen Kelly <steveire@gmail.com>
Date: Sat, 16 May 2015 05:20:58 +0200
Subject: cmGlobalUnixMakefileGenerator3: Host the PassMakeflags.

---
 Source/cmGlobalBorlandMakefileGenerator.cxx | 2 +-
 Source/cmGlobalJOMMakefileGenerator.cxx     | 2 +-
 Source/cmGlobalNMakeMakefileGenerator.cxx   | 2 +-
 Source/cmGlobalUnixMakefileGenerator3.cxx   | 1 +
 Source/cmGlobalUnixMakefileGenerator3.h     | 1 +
 Source/cmLocalUnixMakefileGenerator3.cxx    | 5 +++--
 Source/cmLocalUnixMakefileGenerator3.h      | 9 ---------
 7 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/Source/cmGlobalBorlandMakefileGenerator.cxx b/Source/cmGlobalBorlandMakefileGenerator.cxx
index b0adb95..3418fdc 100644
--- a/Source/cmGlobalBorlandMakefileGenerator.cxx
+++ b/Source/cmGlobalBorlandMakefileGenerator.cxx
@@ -24,6 +24,7 @@ cmGlobalBorlandMakefileGenerator::cmGlobalBorlandMakefileGenerator()
   this->WindowsShell = true;
   this->IncludeDirective = "!include";
   this->DefineWindowsNULL = true;
+  this->PassMakeflags = true;
 }
 
 
@@ -46,7 +47,6 @@ cmLocalGenerator *cmGlobalBorlandMakefileGenerator::CreateLocalGenerator(
   cmLocalUnixMakefileGenerator3* lg =
       new cmLocalUnixMakefileGenerator3(this, parent);
   lg->SetMakefileVariableSize(32);
-  lg->SetPassMakeflags(true);
   lg->SetUnixCD(false);
   lg->SetMakeCommandEscapeTargetTwice(true);
   lg->SetBorlandMakeCurlyHack(true);
diff --git a/Source/cmGlobalJOMMakefileGenerator.cxx b/Source/cmGlobalJOMMakefileGenerator.cxx
index 35d20ed..45a7d3e 100644
--- a/Source/cmGlobalJOMMakefileGenerator.cxx
+++ b/Source/cmGlobalJOMMakefileGenerator.cxx
@@ -22,6 +22,7 @@ cmGlobalJOMMakefileGenerator::cmGlobalJOMMakefileGenerator()
   this->WindowsShell = true;
   this->NMake = true;
   this->DefineWindowsNULL = true;
+  this->PassMakeflags = true;
 }
 
 void cmGlobalJOMMakefileGenerator
@@ -55,7 +56,6 @@ cmGlobalJOMMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
       = new cmLocalUnixMakefileGenerator3(this, parent);
   lg->SetMakeSilentFlag("/nologo");
   lg->SetIgnoreLibPrefix(true);
-  lg->SetPassMakeflags(true);
   lg->SetUnixCD(false);
   return lg;
 }
diff --git a/Source/cmGlobalNMakeMakefileGenerator.cxx b/Source/cmGlobalNMakeMakefileGenerator.cxx
index c059ba0..a509931 100644
--- a/Source/cmGlobalNMakeMakefileGenerator.cxx
+++ b/Source/cmGlobalNMakeMakefileGenerator.cxx
@@ -22,6 +22,7 @@ cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator()
   this->WindowsShell = true;
   this->NMake = true;
   this->DefineWindowsNULL = true;
+  this->PassMakeflags = true;
 }
 
 void cmGlobalNMakeMakefileGenerator
@@ -55,7 +56,6 @@ cmGlobalNMakeMakefileGenerator::CreateLocalGenerator(cmLocalGenerator* parent)
       new cmLocalUnixMakefileGenerator3(this, parent);
   lg->SetMakeSilentFlag("/nologo");
   lg->SetIgnoreLibPrefix(true);
-  lg->SetPassMakeflags(true);
   lg->SetUnixCD(false);
   return lg;
 }
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index fd9b851..7588c09 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -36,6 +36,7 @@ cmGlobalUnixMakefileGenerator3::cmGlobalUnixMakefileGenerator3()
 
   this->IncludeDirective = "include";
   this->DefineWindowsNULL = false;
+  this->PassMakeflags = false;
 }
 
 void cmGlobalUnixMakefileGenerator3
diff --git a/Source/cmGlobalUnixMakefileGenerator3.h b/Source/cmGlobalUnixMakefileGenerator3.h
index ffe65a0..2a91ed4 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.h
+++ b/Source/cmGlobalUnixMakefileGenerator3.h
@@ -135,6 +135,7 @@ public:
 
   std::string IncludeDirective;
   bool DefineWindowsNULL;
+  bool PassMakeflags;
 protected:
   void WriteMainMakefile2();
   void WriteMainCMakefile();
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 39b35a4..cb4d8cf 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -85,7 +85,6 @@ cmLocalUnixMakefileGenerator3(cmGlobalGenerator* gg, cmLocalGenerator* parent)
 {
   this->MakefileVariableSize = 0;
   this->IgnoreLibPrefix = false;
-  this->PassMakeflags = false;
   this->UnixCD = true;
   this->ColorMakefile = false;
   this->SkipPreprocessedSourceRules = false;
@@ -2154,7 +2153,9 @@ cmLocalUnixMakefileGenerator3
   // sub-invoked makes via an environment variable.  However, some
   // makes do not support that, so you have to pass the flags
   // explicitly.
-  if(this->GetPassMakeflags())
+  cmGlobalUnixMakefileGenerator3* gg =
+    static_cast<cmGlobalUnixMakefileGenerator3*>(this->GlobalGenerator);
+  if(gg->PassMakeflags)
     {
     cmd += "-$(MAKEFLAGS) ";
     }
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 37a9265..7a0dadb 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -67,14 +67,6 @@ public:
   void WriteMakeVariables(std::ostream& makefileStream);
 
   /**
-   * If true, then explicitly pass MAKEFLAGS on the make all target for makes
-   * that do not use environment variables.
-   *
-   */
-  void SetPassMakeflags(bool s){this->PassMakeflags = s;}
-  bool GetPassMakeflags() { return this->PassMakeflags; }
-
-  /**
    * Set the flag used to keep the make program silent.
    */
   void SetMakeSilentFlag(const std::string& s) { this->MakeSilentFlag = s; }
@@ -291,7 +283,6 @@ private:
   std::string MakeSilentFlag;
   std::string ConfigurationName;
   bool UnixCD;
-  bool PassMakeflags;
   bool MakeCommandEscapeTargetTwice;
   bool BorlandMakeCurlyHack;
   //==========================================================================
-- 
cgit v0.12