linux-imx/scripts/kconfig/tests/preprocess/variable/Kconfig
Masahiro Yamada 2bece88f89 kconfig: test: add Kconfig macro language tests
Here are the test cases I used for developing the text expansion
feature.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2018-05-29 03:31:19 +09:00

1.2 KiB

SPDX-License-Identifier: GPL-2.0

Shorthand

warning = $(warning-if,y,$(1))

Simply expanded variable.

X := 1 SIMPLE := $(X) X := 2 $(warning,SIMPLE = $(SIMPLE))

Recursively expanded variable.

X := 1 RECURSIVE = $(X) X := 2 $(warning,RECURSIVE = $(RECURSIVE))

Append something to a simply expanded variable.

Y := 3 SIMPLE += $(Y) Y := 4 $(warning,SIMPLE = $(SIMPLE))

Append something to a recursively expanded variable.

Y := 3 RECURSIVE += $(Y) Y := 4 $(warning,RECURSIVE = $(RECURSIVE))

Use += operator to an undefined variable.

This works as a recursively expanded variable.

Y := 3 UNDEFINED_VARIABLE += $(Y) Y := 4 $(warning,UNDEFINED_VARIABLE = $(UNDEFINED_VARIABLE))

You can use variable references for the lefthand side of assignment statement.

X := A Y := B $(X)$(Y) := 5 $(warning,AB = $(AB))

User-defined function.

greeting = $(1), my name is $(2). $(warning,$(greeting,Hello,John))

The number of arguments is not checked for user-defined functions.

If some arguments are optional, it is useful to pass fewer parameters.

$(2) will be blank in this case.

$(warning,$(greeting,Hello))

Unreferenced parameters are just ignored.

$(warning,$(greeting,Hello,John,ignored,ignored))