#include "MakeDependencyFile.h" #include "FileSystemUtilities.h" #include MakeDependencyFile::MakeDependencyFile(const std::string& aTarget, const std::vector& Deps) : DepFileExists(true), CorrectDeps(true), Target(aTarget), Dependencies(Deps) { } MakeDependencyFile::MakeDependencyFile(const std::string& File) : Str(File) { DepFileExists = fileExists(File); Target = Str.makeFileName(); Str.literal(":"); std::string D; do { Dependencies.push_back(D); D = Str.makeFileName(); if (D.empty() && Str.literal("\\")) D = Str.makeFileName(); } while (!D.empty()); Dependencies.erase(Dependencies.begin()); Str.whiteSpace(); CorrectDeps = Str.eos(); } bool MakeDependencyFile::upToDate() const { // Target does not exist lets remake if (!fileExists(Target)) return false; // Incorrect dep file, lets remake if (!CorrectDeps) { std::cout << " dep file incorrectly formatted, forcing remake" << std::endl; return false; } // Dependencies do not exist, lets remake to be sure if (!DepFileExists) { std::cout << " does not exist, forcing remake " << std::endl; return false; } for (unsigned int i=0; i