Lines Matching +full:built +full:- +full:in

6 -------
9 two languages in one. One language describes dependency graphs consisting of
21 $(CC) -o $(APP) $(SRC)
27 gcc -o foo foo.c
32 The idea is quite similar in Kconfig - it is possible to describe a Kconfig
38 def_bool $(shell, $(srctree)/scripts/gcc-check-foo.sh $(CC))
40 The macro language in Kconfig processes the source file into the following
46 Then, Kconfig moves onto the evaluation stage to resolve inter-symbol
47 dependency as explained in kconfig-language.rst.
51 ---------
53 Like in Make, a variable in Kconfig works as a macro variable. A macro
54 variable is expanded "in place" to yield a text string that may then be
55 expanded further. To get the value of a variable, enclose the variable name in
56 $( ). The parentheses are required even for single-letter variable names; $X is
57 a syntax error. The curly brace form as in ${CC} is not supported either.
68 expanding it in any way. Instead, the expansion is performed when the variable
76 The variable reference can take parameters, in the following form::
81 "user-defined function" in contrast to "built-in function" listed below).
84 expanded differently if different parameters are passed. Hence, a user-defined
88 In fact, recursively expanded variables and user-defined functions are the same
89 internally. (In other words, "variable" is "function with zero argument".)
90 When we say "variable" in a broad sense, it includes "user-defined function".
93 Built-in functions
94 ------------------
96 Like Make, Kconfig provides several built-in functions. Every function takes a
99 In Make, every built-in function takes at least one argument. Kconfig allows
100 zero argument for built-in functions, such as $(filename), $(lineno). You could
101 consider those as "built-in variable", but it is just a matter of how we call
102 it after all. Let's say "built-in function" here to refer to natively supported
105 Kconfig currently supports the following built-in functions.
107 - $(shell,command)
111 and returned as the value of the function. Every newline in the output is
115 - $(info,text)
120 - $(warning-if,condition,text)
122 The "warning-if" function takes two arguments. If the condition part is "y",
126 - $(error-if,condition,text)
128 The "error-if" function is similar to "warning-if", but it terminates the
131 - $(filename)
136 - $(lineno)
143 ---------------
145 Kconfig adopts Make-like macro language, but the function call syntax is
148 A function call in Make looks like this::
150 $(func-name arg1,arg2,arg3)
154 while whitespaces in the other arguments are kept. You need to use a kind of
162 Kconfig uses only commas for delimiters, and keeps all whitespaces in the
165 $(func-name, arg1, arg2, arg3)
167 In this case, "func-name" will receive " arg1", " arg2", " arg3". The presence
169 Make - for example, $(subst .c, .o, $(sources)) is a typical mistake; it
172 In Make, a user-defined function is referenced by using a built-in function,
175 $(call my-func,arg1,arg2,arg3)
177 Kconfig invokes user-defined functions and built-in functions in the same way.
180 In Make, some functions treat commas verbatim instead of argument separators.
185 In Kconfig, for simpler implementation and grammatical consistency, commas that
186 appear in the $( ) context are always delimiters. It means::
191 accepts only one. To pass commas in arguments, you can use the following trick::
198 -------
219 A variable cannot be expanded to any keyword in Kconfig. The following does
228 Obviously from the design, $(shell command) is expanded in the textual
235 default "-mbig-endian" if CPU_BIG_ENDIAN
236 default "-mlittle-endian" if CPU_LITTLE_ENDIAN
239 def_bool $(shell $(srctree)/scripts/gcc-check-flag ENDIAN_FLAG)
246 default $(shell $(srctree)/scripts/gcc-check-flag -mbig-endian) if CPU_BIG_ENDIAN
247 default $(shell $(srctree)/scripts/gcc-check-flag -mlittle-endian) if CPU_LITTLE_ENDIAN