Hi Frank, 2018-08-21 10:31 GMT+09:00 Frank Rowand <frowand.list@xxxxxxxxx>: > On 08/20/18 14:32, Rob Herring wrote: >> On Mon, Aug 20, 2018 at 1:55 PM Frank Rowand <frowand.list@xxxxxxxxx> 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@xxxxxxxxxxxxx> >>>> --- >>>> >>>> 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. As Rob said, HOST_EXTRACFLAGS is reset in each makefile because HOST_EXTRACFLAGS is not export'ed. (scripts/gcc-plugins/Makefile actually export's it, but it is wrong.) Precisely speaking, HOST_EXTRACFLAGS is immediately expanded if it is set by :=, whereas it is lazily expanded if it is set by +=. But, there is no effective difference in this case. -- Best Regards Masahiro Yamada