diff --git a/mk2rbc/mk2rbc.go b/mk2rbc/mk2rbc.go index 8f4fea4b1..d4da4f523 100644 --- a/mk2rbc/mk2rbc.go +++ b/mk2rbc/mk2rbc.go @@ -531,7 +531,7 @@ func (ctx *parseContext) backNode() { func (ctx *parseContext) handleAssignment(a *mkparser.Assignment) []starlarkNode { // Handle only simple variables - if !a.Name.Const() { + if !a.Name.Const() || a.Target != nil { return []starlarkNode{ctx.newBadNode(a, "Only simple variables are handled")} } name := a.Name.Strings[0] diff --git a/mk2rbc/mk2rbc_test.go b/mk2rbc/mk2rbc_test.go index de7512927..6887ca482 100644 --- a/mk2rbc/mk2rbc_test.go +++ b/mk2rbc/mk2rbc_test.go @@ -1242,13 +1242,15 @@ def init(g, handle): desc: "Ignore make rules", mkname: "product.mk", in: ` +foo: PRIVATE_VARIABLE = some_tool $< $@ foo: foo.c gcc -o $@ $*`, expected: `load("//build/make/core:product_config.rbc", "rblf") def init(g, handle): cfg = rblf.cfg(handle) - rblf.mk2rbc_error("product.mk:2", "unsupported line rule: foo: foo.c\n#gcc -o $@ $*") + rblf.mk2rbc_error("product.mk:2", "Only simple variables are handled") + rblf.mk2rbc_error("product.mk:3", "unsupported line rule: foo: foo.c\n#gcc -o $@ $*") `, }, {