diff options
Diffstat (limited to 'project2/ice/iceCompile.cpp')
-rw-r--r-- | project2/ice/iceCompile.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/project2/ice/iceCompile.cpp b/project2/ice/iceCompile.cpp index d9287f4..1be126c 100644 --- a/project2/ice/iceCompile.cpp +++ b/project2/ice/iceCompile.cpp @@ -44,18 +44,21 @@ IceCompile::IceCompile(const boost::filesystem::path & s, const Deps & d) : } void -IceCompile::Update() const +IceCompile::Update(int steps) const { fs::create_directories(IceCompile::tmpdir); BOOST_FOREACH(const auto & dep, deps) { - dep->Update(); + dep->Update(steps); } const fs::path cpp(tmpdir / OutputName(".cpp")); - update(InputPath(), cpp, &IceCompile::Build); + if (steps & UpdateBuild) + update(InputPath(), cpp, &IceCompile::Build); const fs::path o(tmpdir / OutputName(".o")); - update(cpp, o, &IceCompile::Compile); + if (steps & UpdateCompile) + update(cpp, o, &IceCompile::Compile); const fs::path so(tmpdir / OutputName(".so")); - update(o, so, &IceCompile::Link); + if (steps & UpdateLink) + update(o, so, &IceCompile::Link); } void |