X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.cpp;h=665983100894acad49db12d8eb478055713c9ad8;hb=0c1b2a50c95d9bb981b36d3ce522c7094ec5fe0a;hp=fde33cc65bd821e1474afdb49986cb3b4250babf;hpb=d80e69473f380cc27d81ed95a5660047128975e2;p=builder.git diff --git a/source/builder.cpp b/source/builder.cpp index fde33cc..6659831 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -68,7 +68,7 @@ Builder::Builder(int argc, char **argv): GetOpt getopt; getopt.add_option('a', "analyze", analyze_mode, GetOpt::REQUIRED_ARG).set_help("Perform dependency analysis.", "MODE"); - getopt.add_option('b', "build", build, GetOpt::NO_ARG).set_help("Perform build even if doing analysis."); + getopt.add_option('b', "build", build, GetOpt::NO_ARG).set_help("Perform build even if also doing something else."); getopt.add_option('c', "clean", clean, GetOpt::NO_ARG).set_help("Clean buildable targets."); getopt.add_option('f', "file", build_file, GetOpt::REQUIRED_ARG).set_help("Read build instructions from FILE.", "FILE"); getopt.add_option('h', "help", help, GetOpt::NO_ARG).set_help("Print this message."); @@ -297,7 +297,7 @@ int Builder::main() if(clean) exit_code = do_clean(); - else if(build) + if(build) exit_code = do_build(); return exit_code; @@ -550,9 +550,11 @@ int Builder::do_clean() } for(set::iterator i=clean_tgts.begin(); i!=clean_tgts.end(); ++i) - if(FileTarget *ft = dynamic_cast(*i)) - if(ft->get_mtime()) - FS::unlink(ft->get_path()); + { + logger.log("tasks", format("RM %s", (*i)->get_name())); + if(!dry_run) + (*i)->clean(); + } return 0; }