[RFC] Kbuild: allow code re-use across different directories

Arnaud Lacombe lacombar at gmail.com
Fri Sep 9 12:16:03 EDT 2011


Hi,

On Fri, Sep 9, 2011 at 8:32 AM, Michal Marek <mmarek at suse.cz> wrote:
> On 9.9.2011 03:22, Arnaud Lacombe wrote:
>> Hi,
>>
>> On Thu, Sep 8, 2011 at 4:33 PM, Nicolas Pitre <nico at fluxnic.net> wrote:
>>> On Thu, 8 Sep 2011, Arnaud Lacombe wrote:
>>>
>>>> you missed:
>>>>
>>>>  # Make sure files are removed during clean
>>>> -extra-y       += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S
>>>> +extra-y       += piggy.gzip piggy.lzo piggy.lzma
>>>>
>>>> This confused make.
>>>
>>> Well... that was suttle.
>>>
>> he, welcome to make(1) world :)
>>
>>> So yes, your patch may certainly be useful to a couple cases, and it
>>> works fine for this lib1func.S.
>>>
>>> It doesn't help me much in the following situation though.  What I
>>> actually want to achieve is to compile arch/arm/boot/compressed/fdt_rw.o
>>> from scripts/dtc/libfdt/fdt_rw.c, however I want it to include my local
>>> version of libfdt_env.h rather than scripts/dtc/libfdt/libfdt_env.h.  I
>>> still haven't found a way to convince gcc to do that.
>>>
>> The only choice you have in gcc, is to use -I-, to construct:
>>
>>  $(CROSS_COMPILE)gcc -I$(srctree)/arch/arm/boot/compressed -I- [...]
>>
>> however, it's been marked as deprecated, but still usable as of today
>> snapshot of 4.7.0. Its replacement, -iquote, do not provide this
>> functionnality, that is to override the source file origin directory
>> as search directory for #include "...".
>
> Or you modify libfdt to support -DLIBFDT_ENV=libfdt_arm.h or similar.
>
If dtc has to be modified, let's just get rid of that #include "..."
in favor of #include <...>. We will gain full control of search path,
and it will be cleaner than this awful LIBFTD_ENV construct.

 - Arnaud

> Michal
>



More information about the linux-arm-kernel mailing list