summaryrefslogtreecommitdiff
path: root/project2/ice/iceCompile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'project2/ice/iceCompile.cpp')
-rw-r--r--project2/ice/iceCompile.cpp13
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