summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 0994486..fc59a4f 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -2875,19 +2875,22 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile()
// rules may depend on this file itself.
std::string ruleFileNameFull = this->ConvertToFullPath(ruleFileName);
cmGeneratedFileStream ruleFileStream(ruleFileNameFull.c_str());
- ruleFileStream.SetCopyIfDifferent(true);
if(!ruleFileStream)
{
return;
}
+ // always write the top makefile
+ if (m_Parent)
+ {
+ ruleFileStream.SetCopyIfDifferent(true);
+ }
// write the all rules
this->WriteLocalAllRules(ruleFileStream);
- // Keep track of targets already listed.
+ // only write local targets unless at the top Keep track of targets already
+ // listed.
std::set<cmStdString> emittedTargets;
-
- // only write local targets unless at the top
if (m_Parent)
{
// write our targets, and while doing it collect up the object