Messages in this thread | | | From | Masahiro Yamada <> | Date | Tue, 21 Aug 2018 16:18:34 +0900 | Subject | Re: [PATCH] scripts/dtc: consolidate include path options in Makefile |
| |
Hi Frank,
2018-08-21 14:37 GMT+09:00 Frank Rowand <frowand.list@gmail.com>: > On 08/20/18 19:08, Masahiro Yamada wrote: >> Hi Frank, >> >> 2018-08-21 10:31 GMT+09:00 Frank Rowand <frowand.list@gmail.com>: >>> On 08/20/18 14:32, Rob Herring wrote: >>>> On Mon, Aug 20, 2018 at 1:55 PM Frank Rowand <frowand.list@gmail.com> wrote: >>>>> >>>>> On 07/03/18 18:59, Masahiro Yamada wrote: >>>>>> It is tedious to specify extra compiler options for every file. >>>>>> HOST_EXTRACFLAGS is useful to add options to all files in a >>>>>> directory. >>>>>> >>>>>> -I$(src)/libfdt is needed for all the files in this directory >>>>>> to include libfdt_env.h etc. from scripts/dtc/libfdt/. >>>>>> >>>>>> On the other hand, -I$(src) is used to include check-in headers >>>>>> from generated C files. Thus, I added it only to dtc-lexer.lex.o >>>>>> and dtc-parser.tab.o . >>>>>> >>>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> >>>>>> --- >>>>>> >>>>>> scripts/dtc/Makefile | 18 ++++-------------- >>>>>> 1 file changed, 4 insertions(+), 14 deletions(-) >>>>>> >>>>>> diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile >>>>>> index 9cac65b..1c943e0 100644 >>>>>> --- a/scripts/dtc/Makefile >>>>>> +++ b/scripts/dtc/Makefile >>>>>> @@ -9,21 +9,11 @@ dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ >>>>>> dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o >>>>>> >>>>>> # Source files need to get at the userspace version of libfdt_env.h to compile >>>>>> +HOST_EXTRACFLAGS := -I$(src)/libfdt >>>>> >>>>> Shouldn't that be += instead of :=? >>>> >>>> I don't think so. The definition is local to the file (and reset >>>> before each makefile is included). >>>> >>>> Rob >>>> >>> >>> Every other place where HOST_EXTRACFLAGS is assigned a value, += is used >>> instead of :=, including the example in Documentation/kbuild/makefiles.txt >>> >>> What makes scripts/dtc/Makefile different than the other makefiles? >>> >>> -Frank >>> >> >> >> := and += work in the same way in here. > > Unless I do: HOST_EXTRACFLAGS=xxx make > where "xxx" is some random flag I feel like adding in a particular build.
This is not the intended usage of HOST_EXTRACFLAGS.
HOST_EXTRACFLAGS is supposed to be set by Makefile in the kernel tree.
Documentation/kbuild/makefiles.txt explains this:
To set flags that will take effect for all host programs created in that Makefile, use the variable HOST_EXTRACFLAGS.
If you want to pass additional host compiler flags, please use HOSTCFLAGS instead.
Documentation/kbuild/kbuild.txt lists officially supported environment variables / command line variables.
HOSTCFLAGS -------------------------------------------------- Additional flags to be passed to $(HOSTCC) when building host programs.
Maybe I should add
HOST_EXTRACFLAGS := HOST_EXTRACXXFLAGS :=
to the top of scripts/Makefile.build to reset the variables explicitly in case people try to abuse them.
-- Best Regards Masahiro Yamada
| |