summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-08-01 23:52:12 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-08-01 23:52:12 (GMT)
commit16e73643f3506f34164243b2f7816cba5cd4ad9a (patch)
tree8bb8adf04a71df36139d2f29cd164fa114d805e1 /Source
parentfe5a6e94137c4720871b4be268ada7a003efad5e (diff)
downloadCMake-16e73643f3506f34164243b2f7816cba5cd4ad9a.zip
CMake-16e73643f3506f34164243b2f7816cba5cd4ad9a.tar.gz
CMake-16e73643f3506f34164243b2f7816cba5cd4ad9a.tar.bz2
ENH: undo change that broke borland 5.6 cont
Diffstat (limited to 'Source')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx57
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.h4
2 files changed, 22 insertions, 39 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 549ecaf..fea2bd6 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -275,15 +275,34 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile()
gg->WriteConvenienceRules(ruleFileStream,emittedTargets);
}
+ std::vector<std::string> depends;
+ std::vector<std::string> commands;
+
// now write out the object rules
// for each object file name
for (std::map<cmStdString,std::vector<cmTarget *> >::iterator lo =
this->LocalObjectFiles.begin();
lo != this->LocalObjectFiles.end(); ++lo)
{
- this->WriteObjectConvenienceRule(ruleFileStream,
- "target to build an object file",
- lo->first.c_str(), lo->second);
+ commands.clear();
+ // for each target using the object file
+ for (std::vector<cmTarget *>::iterator to =
+ lo->second.begin(); to != lo->second.end(); ++to)
+ {
+ std::string tgtMakefileName = this->GetRelativeTargetDirectory(**to);
+ std::string targetName = tgtMakefileName;
+ tgtMakefileName += "/build.make";
+ targetName += "/";
+ targetName += lo->first.c_str();
+ commands.push_back(this->GetRecursiveMakeCall
+ (tgtMakefileName.c_str(),targetName.c_str()));
+ this->CreateCDCommand(commands,
+ this->Makefile->GetHomeOutputDirectory(),
+ this->Makefile->GetStartOutputDirectory());
+ }
+ this->WriteMakeRule(ruleFileStream,
+ "target for object file",
+ lo->first.c_str(), depends, commands, false);
}
// add a help target as long as there isn;t a real target named help
@@ -297,38 +316,6 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile()
this->WriteSpecialTargetsBottom(ruleFileStream);
}
-//----------------------------------------------------------------------------
-void
-cmLocalUnixMakefileGenerator3
-::WriteObjectConvenienceRule(std::ostream& ruleFileStream,
- const char* output, const char* comment,
- std::vector<cmTarget*>& targets)
-{
- // Recursively make the rule for each target using the object file.
- std::vector<std::string> commands;
- for(std::vector<cmTarget*>::iterator t = targets.begin();
- t != targets.end(); ++t)
- {
- std::string tgtMakefileName = this->GetRelativeTargetDirectory(**t);
- std::string targetName = tgtMakefileName;
- tgtMakefileName += "/build.make";
- targetName += "/";
- targetName += output;
- commands.push_back(
- this->GetRecursiveMakeCall(tgtMakefileName.c_str(), targetName.c_str())
- );
- this->CreateCDCommand(commands,
- this->Makefile->GetHomeOutputDirectory(),
- this->Makefile->GetStartOutputDirectory());
- }
-
- // Write the rule to the makefile.
- std::vector<std::string> no_depends;
- this->WriteMakeRule(ruleFileStream, comment,
- output, no_depends, commands, true);
-}
-
-//----------------------------------------------------------------------------
void cmLocalUnixMakefileGenerator3
::WriteLocalMakefileTargets(std::ostream& ruleFileStream,
std::set<cmStdString> &emitted)
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index f83f102..7744e1b 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -223,7 +223,6 @@ protected:
void WriteLocalMakefile();
-
// write the target rules for the local Makefile into the stream
void WriteLocalMakefileTargets(std::ostream& ruleFileStream,
std::set<cmStdString> &emitted);
@@ -268,9 +267,6 @@ protected:
void WriteTargetRequiresRule(std::ostream& ruleFileStream,
cmTarget& target,
const std::vector<std::string>& objects);
- void WriteObjectConvenienceRule(std::ostream& ruleFileStream,
- const char* comment, const char* output,
- std::vector<cmTarget*>& targets);
std::string GetObjectFileName(cmTarget& target,
const cmSourceFile& source,