void parse_option(std::string const& flag) { if ("library" == flag) { env->lib(argp->required_arg()); } else if ("include" == flag) { env->include(argp->required_arg()); } else if ("generator" == flag) { env->generator(argp->required_arg()); } else if ("debug" == flag) { env->debug(true); } else if ("optimize" == flag) { env->optimize(true); } else if ("verbose" == flag) { env->verbose(true); } else if ("clean" == flag) { clean(env->build_dir()); clean("bin"); clean("lib"); exit(0); } else if ("reset" == flag) { File::unlink(".jgmake"); exit(0); } else { argp->bad_option(flag); } }
void parse_option(std::string const& flag) { if ("output" == flag) { env->output(argp->required_arg()); } else if ("include" == flag) { env->include(argp->required_arg()); } else if ("format" == flag) { env->generator(argp->required_arg()); } else if ("verbose" == flag) { env->verbose(true); } else { argp->bad_option(flag); } }
void clean(std::string const& dir) { for(File::Iterator i(dir);i;++i) { std::string const path = dir + FILE_SEPARATOR + (*i); if((*i) == "." || (*i) == "..") { // Do nothing } else if(File::is_dir(path)) { clean(path); } else { if (env->verbose()) { std::cout << "Removing " << path << std::endl; } File::unlink(path); } } }
void parse_option(std::string const& flag) { // Parses an option and all the corresponding arguments to that option. if ("verbose" == flag) { env->verbose(true); } else if ("optimize" == flag) { env->optimize(true); } else if ("assembly" == flag) { env->assemble(false); env->link(false); } else if ("compile" == flag) { env->link(false); } else if ("make" == flag) { env->make(true); } else if ("debug" == flag) { env->debug(true); } else if ("dump-ir" == flag) { env->dump_ir(true); } else if ("dump-ast" == flag) { env->dump_ast(true); } else if ("dump-lex" == flag) { env->dump_lex(true); } else if ("dump-liveness" == flag) { env->dump_liveness(true); } else if ("dump-regalloc" == flag) { env->dump_regalloc(true); } else if ("dump-reggraph" == flag) { env->dump_reggraph(true); } else if ("execute" == flag) { env->execute(true); } else if ("no-default-libs" == flag) { env->no_default_libs(true); // Debugger flag that prevents default modules from getting // loaded automatically by the parser. } else if ("include" == flag) { env->include(argp->required_arg()); } else if ("output" == flag) { env->output(argp->required_arg()); } else if ("build-dir" == flag) { env->build_dir(argp->required_arg()); } else if ("library" == flag) { env->lib(argp->required_arg()); } else if ("generator" == flag) { env->generator(argp->required_arg()); } else { argp->bad_option(flag); } }