Make allows variable references in the lefthand side of assignment.

  X = A
  Y = B
  $(X)$(Y) = 1

This does 'AB = 1'  Do likewise in Kconfig as well.

Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com>
---

Changes in v3: None
Changes in v2: None

 scripts/kconfig/zconf.l | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
index c68ca56b..ae33e9b 100644
--- a/scripts/kconfig/zconf.l
+++ b/scripts/kconfig/zconf.l
@@ -114,6 +114,13 @@ n  [A-Za-z0-9_-]
                yylval.string = text;
                return T_VARIABLE;
        }
+       ({n}|$)+        {
+               /* this token includes at least one '$' */
+               yylval.string = expand_token(yytext, yyleng);
+               if (strlen(yylval.string))
+                       return T_VARIABLE;
+               free(yylval.string);
+       }
        "="     { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_RECURSIVE; return 
T_ASSIGN; }
        ":="    { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_SIMPLE; return 
T_ASSIGN; }
        "+="    { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_APPEND; return 
T_ASSIGN; }
-- 
2.7.4

Reply via email to