diff options
| -rw-r--r-- | flags.cc | 2 | ||||
| -rw-r--r-- | flags.h | 1 | ||||
| -rw-r--r-- | ninja.cc | 9 |
3 files changed, 10 insertions, 2 deletions
@@ -106,6 +106,8 @@ void Flags::Parse(int argc, char** argv) { no_builtin_rules = true; } else if (!strcmp(arg, "--no_ninja_prelude")) { no_ninja_prelude = true; + } else if (!strcmp(arg, "--use_ninja_phony_output")) { + use_ninja_phony_output = true; } else if (!strcmp(arg, "--werror_find_emulator")) { werror_find_emulator = true; } else if (!strcmp(arg, "--werror_overriding_commands")) { @@ -43,6 +43,7 @@ struct Flags { bool color_warnings; bool no_builtin_rules; bool no_ninja_prelude; + bool use_ninja_phony_output; bool werror_find_emulator; bool werror_overriding_commands; bool warn_implicit_rules; @@ -557,7 +557,7 @@ class NinjaGenerator { } *o << ": " << rule_name; vector<Symbol> order_onlys; - if (node->is_phony) { + if (node->is_phony && !g_flags.use_ninja_phony_output) { *o << " _kati_always_build_"; } for (auto const& d : node->deps) { @@ -585,6 +585,9 @@ class NinjaGenerator { } else if (use_local_pool) { *o << " pool = local_pool\n"; } + if (node->is_phony && g_flags.use_ninja_phony_output) { + *o << " phony_output = true\n"; + } if (node->is_default_target) { unique_lock<mutex> lock(mu_); default_target_ = node; @@ -618,7 +621,9 @@ class NinjaGenerator { fprintf(fp_, "pool local_pool\n"); fprintf(fp_, " depth = %d\n\n", g_flags.num_jobs); - fprintf(fp_, "build _kati_always_build_: phony\n\n"); + if (!g_flags.use_ninja_phony_output) { + fprintf(fp_, "build _kati_always_build_: phony\n\n"); + } } unique_ptr<ThreadPool> tp(NewThreadPool(g_flags.num_jobs)); |
