Support implicit outputs
Added in Ninja 1.7, for outputs that will not show up in $out.
diff --git a/ninja_writer.go b/ninja_writer.go
index 42b9aa8..a61667d 100644
--- a/ninja_writer.go
+++ b/ninja_writer.go
@@ -103,8 +103,8 @@
return err
}
-func (n *ninjaWriter) Build(comment string, rule string, outputs, explicitDeps, implicitDeps,
- orderOnlyDeps []string) error {
+func (n *ninjaWriter) Build(comment string, rule string, outputs, implicitOuts,
+ explicitDeps, implicitDeps, orderOnlyDeps []string) error {
n.justDidBlankLine = false
@@ -126,6 +126,14 @@
wrapper.WriteStringWithSpace(output)
}
+ if len(implicitOuts) > 0 {
+ wrapper.WriteStringWithSpace("|")
+
+ for _, out := range implicitOuts {
+ wrapper.WriteStringWithSpace(out)
+ }
+ }
+
wrapper.WriteString(":")
wrapper.WriteStringWithSpace(rule)