| 
					
				 | 
			
			
				@@ -939,14 +939,19 @@ void cmLocalUnixMakefileGenerator::OutputExecutableRule(std::ostream& fout, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     linkFlags += this->GetSafeDefinition(build.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     linkFlags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(t.HasCxx()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rules.push_back(m_Makefile->GetDefinition("CMAKE_CXX_LINK_EXECUTABLE")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     flags += this->GetSafeDefinition("CMAKE_CXX_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     flags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flags += this->GetSafeDefinition("CMAKE_SHARED_LIBRARY_CXX_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flags += this->GetSafeDefinition("CMAKE_SHARED_LIBRARY_LINK_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rules.push_back(m_Makefile->GetDefinition("CMAKE_C_LINK_EXECUTABLE")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     flags += this->GetSafeDefinition("CMAKE_C_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     flags += " "; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -962,6 +967,12 @@ void cmLocalUnixMakefileGenerator::OutputExecutableRule(std::ostream& fout, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     commands.push_back(customCommands.c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(cmSystemTools::IsOn(m_Makefile->GetDefinition("BUILD_SHARED_LIBS"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    linkFlags += this->GetSafeDefinition("CMAKE_SHARED_BUILD_CXX_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    linkFlags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(t.GetType() == cmTarget::WIN32_EXECUTABLE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     linkFlags +=  this->GetSafeDefinition("CMAKE_CREATE_WIN32_EXE"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -973,7 +984,7 @@ void cmLocalUnixMakefileGenerator::OutputExecutableRule(std::ostream& fout, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     linkFlags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   for(std::vector<std::string>::iterator i = commands.begin(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       i != commands.end(); ++i) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2212,6 +2223,11 @@ OutputBuildObjectFromSource(std::ostream& fout, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     case cmSystemTools::CXX_FILE_FORMAT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(cmSystemTools::IsOn(m_Makefile->GetDefinition("BUILD_SHARED_LIBS"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flags += this->GetSafeDefinition("CMAKE_SHARED_BUILD_CXX_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flags += " "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       rules.push_back(m_Makefile->GetDefinition("CMAKE_CXX_COMPILE_OBJECT")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       flags += this->GetSafeDefinition("CMAKE_CXX_FLAGS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       flags += " ";  
			 |