diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index bb5a7f861b..10b588352b 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -294,17 +294,20 @@
rather than when the variable is actually used:
T = "123"
- A := "${B} ${A} test ${T}"
+ A := "test ${T}"
T = "456"
- B = "${T} bval"
+ B := "${T} ${C}"
C = "cval"
C := "${C}append"
In this example, A contains
- "test 123" because ${B} and
- ${A} at the time of parsing are undefined,
- which leaves "test 123".
- And, the variable C
+ "test 123", even though the final value of T
+ is "456".
+ The variable B will end up containing "456 cvalappend".
+ This is because references to undefined variables are preserved as is
+ during (immediate)expansion. This is in contrast to GNU Make, where undefined
+ variables expand to nothing.
+ The variable C
contains "cvalappend" since ${C} immediately
expands to "cval".