diff options
Diffstat (limited to 'dep.cc')
| -rw-r--r-- | dep.cc | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -162,12 +162,18 @@ struct RuleMerger { if (primary_rule && !r->cmds.empty() && !IsSuffixRule(output) && !r->is_double_colon) { - WARN_LOC(r->cmd_loc(), - "warning: overriding commands for target `%s'", - output.c_str()); - WARN_LOC(primary_rule->cmd_loc(), - "warning: ignoring old commands for target `%s'", - output.c_str()); + if (g_flags.werror_overriding_commands) { + ERROR_LOC(r->cmd_loc(), + "*** overriding commands for target `%s', previously defined at %s:%d", + output.c_str(), LOCF(primary_rule->cmd_loc())); + } else { + WARN_LOC(r->cmd_loc(), + "warning: overriding commands for target `%s'", + output.c_str()); + WARN_LOC(primary_rule->cmd_loc(), + "warning: ignoring old commands for target `%s'", + output.c_str()); + } primary_rule = r; } if (!primary_rule && !r->cmds.empty()) { |
