%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# 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))