summaryrefslogtreecommitdiffstats
path: root/Source/cmUnixMakefileGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmUnixMakefileGenerator.cxx')
-rw-r--r--Source/cmUnixMakefileGenerator.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx
index 225cd33..24f4036 100644
--- a/Source/cmUnixMakefileGenerator.cxx
+++ b/Source/cmUnixMakefileGenerator.cxx
@@ -723,7 +723,15 @@ OutputSubDirectoryVars(std::ostream& fout,
for(unsigned int i =0; i < SubDirectories.size(); i++)
{
std::string subdir = FixDirectoryName(SubDirectories[i].c_str());
- fout << target << "_" << subdir.c_str() << ":\n";
+ fout << target << "_" << subdir.c_str() << ":";
+ const std::set<std::string>& subdirDepends = m_Makefile->GetSubdirDepends(SubDirectories[i].c_str());
+ for(std::set<std::string>::const_iterator d = subdirDepends.begin();
+ d != subdirDepends.end(); ++d)
+ {
+ std::string fixed_d = FixDirectoryName(d->c_str());
+ fout << " " << target << "_" << fixed_d.c_str();
+ }
+ fout << "\n";
if(target1)
{
fout << "\t@if test ! -d " << SubDirectories[i].c_str() << "; then ${MAKE} rebuild_cache; fi\n"