Messages in this thread |  | | Subject | Re: [PATCH] scripts/dtc: consolidate include path options in Makefile | From | Frank Rowand <> | Date | Mon, 20 Aug 2018 22:37:47 -0700 |
| |
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.
Or is there something else buried in the kernel makefiles that leads to a result different than I get from a simple example of recursive make files?
-Frank
> > > 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. > >
|  |