diff options
author | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-07-07 17:31:05 +0900 |
---|---|---|
committer | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-07-07 17:31:05 +0900 |
commit | 201df42f5df5f6a7f943dbb9f775ba857b261053 (patch) | |
tree | 7a4f9c7dc7cfcc385253bd85716d871e6952149d /rule_parser.go | |
parent | 9a17717fd5df84ece411c9284c944bb65f742668 (diff) | |
download | android_build_kati-201df42f5df5f6a7f943dbb9f775ba857b261053.tar.gz android_build_kati-201df42f5df5f6a7f943dbb9f775ba857b261053.tar.bz2 android_build_kati-201df42f5df5f6a7f943dbb9f775ba857b261053.zip |
fix equal_in_target.mk
Diffstat (limited to 'rule_parser.go')
-rw-r--r-- | rule_parser.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/rule_parser.go b/rule_parser.go index 983358a..3b03bab 100644 --- a/rule_parser.go +++ b/rule_parser.go @@ -133,8 +133,9 @@ func (r *rule) parseVar(s []byte, rhs expr) (*assignAST, error) { // parse parses rule line. // line is rule line until '=', or before ';' -// rhs is not nil, if line ended with '=' (target specific var) -func (r *rule) parse(line []byte, rhs expr) (*assignAST, error) { +// assign is not nil, if line was known as target specific var '<xxx>: <v>=<val>' +// rhs is not nil, if line ended with '=' (target specific var after evaluated) +func (r *rule) parse(line []byte, assign *assignAST, rhs expr) (*assignAST, error) { var removed bool line, removed = removeComment(line) if removed { @@ -178,6 +179,12 @@ func (r *rule) parse(line []byte, rhs expr) (*assignAST, error) { } rest := line[index:] + if assign != nil { + if len(rest) > 0 { + panic(fmt.Sprintf("pattern specific var? line:%q", line)) + } + return assign, nil + } if rhs != nil { assign, err := r.parseVar(rest, rhs) if err != nil { |