1 # SPDX-License-Identifier: GPL-2.0 2 3 # Shorthand 4 warning = $(warning-if,y,$(1)) 5 6 # Simply expanded variable. 7 X := 1 8 SIMPLE := $(X) 9 X := 2 10 $(warning,SIMPLE = $(SIMPLE)) 11 12 # Recursively expanded variable. 13 X := 1 14 RECURSIVE = $(X) 15 X := 2 16 $(warning,RECURSIVE = $(RECURSIVE)) 17 18 # Append something to a simply expanded variable. 19 Y := 3 20 SIMPLE += $(Y) 21 Y := 4 22 $(warning,SIMPLE = $(SIMPLE)) 23 24 # Append something to a recursively expanded variable. 25 Y := 3 26 RECURSIVE += $(Y) 27 Y := 4 28 $(warning,RECURSIVE = $(RECURSIVE)) 29 30 # Use += operator to an undefined variable. 31 # This works as a recursively expanded variable. 32 Y := 3 33 UNDEFINED_VARIABLE += $(Y) 34 Y := 4 35 $(warning,UNDEFINED_VARIABLE = $(UNDEFINED_VARIABLE)) 36 37 # You can use variable references for the lefthand side of assignment statement. 38 X := A 39 Y := B 40 $(X)$(Y) := 5 41 $(warning,AB = $(AB)) 42 43 # User-defined function. 44 greeting = $(1), my name is $(2). 45 $(warning,$(greeting,Hello,John)) 46 47 # The number of arguments is not checked for user-defined functions. 48 # If some arguments are optional, it is useful to pass fewer parameters. 49 # $(2) will be blank in this case. 50 $(warning,$(greeting,Hello)) 51 52 # Unreferenced parameters are just ignored. 53 $(warning,$(greeting,Hello,John,ignored,ignored))
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.