diff options
| author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-05-28 05:21:52 -0400 |
|---|---|---|
| committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-05-28 14:31:19 -0400 |
| commit | 82bc8bd82e5c4e6e53d4ba20bb89cec6a91d8702 (patch) | |
| tree | 537b0b2eeb2e604b7399ea9dc7d84a93e05e76b5 /scripts | |
| parent | ed2a22f277c60308481ecea1e1b846cbf249af41 (diff) | |
kconfig: expand lefthand side of assignment statement
Make expands the lefthand side of assignment statements. In fact,
Kbuild relies on it since kernel makefiles mostly look like this:
obj-$(CONFIG_FOO) += foo.o
Do likewise in Kconfig.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/kconfig/zconf.l | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index a6cbe2d06d01..25bd2b89fe3f 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l | |||
| @@ -114,6 +114,13 @@ n [A-Za-z0-9_-] | |||
| 114 | yylval.string = text; | 114 | yylval.string = text; |
| 115 | return T_VARIABLE; | 115 | return T_VARIABLE; |
| 116 | } | 116 | } |
| 117 | ({n}|$)+ { | ||
| 118 | /* this token includes at least one '$' */ | ||
| 119 | yylval.string = expand_token(yytext, yyleng); | ||
| 120 | if (strlen(yylval.string)) | ||
| 121 | return T_VARIABLE; | ||
| 122 | free(yylval.string); | ||
| 123 | } | ||
| 117 | "=" { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_RECURSIVE; return T_ASSIGN; } | 124 | "=" { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_RECURSIVE; return T_ASSIGN; } |
| 118 | ":=" { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_SIMPLE; return T_ASSIGN; } | 125 | ":=" { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_SIMPLE; return T_ASSIGN; } |
| 119 | "+=" { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_APPEND; return T_ASSIGN; } | 126 | "+=" { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_APPEND; return T_ASSIGN; } |
