-rw-r--r-- | lib/file_factory.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/file_factory.cc b/lib/file_factory.cc index c6b5748..7ca7b86 100644 --- a/lib/file_factory.cc +++ b/lib/file_factory.cc @@ -18,38 +18,39 @@ namespace sitecing { struct stat stdst; if(stat(dst.c_str(),&stdst)) return false; for(file_list_t::const_iterator i=fl->begin();i!=fl->end();i++) { struct stat stdep; if(stat(i->c_str(),&stdep)) return false; if(stdst.st_mtime<stdep.st_mtime) return false; if(!is_uptodate(*i)) return false; } return true; } void file_factory::make(const string& dst) { try { depth++; if(depth>25) throw konforka::exception(CODEPOINT,"recursed too deeply."); file_list_t deps; if(!is_uptodate(dst,&deps)) { for(file_list_t::const_iterator i=deps.begin();i!=deps.end();i++) make(*i); - build(dst); + if(!is_uptodate(dst,&deps)) + build(dst); } depth--; }catch(konforka::exception& ke) { depth--; ke.see(CODEPOINT); throw; }catch(...) { depth--; throw; } } } |