Re: [PATCH] kbuild: create a build directory automatically for out-of-tree build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/31/2014 01:36 PM, Sam Ravnborg wrote:
> On Mon, Mar 31, 2014 at 04:41:36PM +0900, Masahiro Yamada wrote:
>> Kbuild supports saving output files in a separate directory.
>> But the build directory must be created beforehand. For example,
>>
>>   $ mkdir -p dir/to/store/output/files
>>   $ make O=dir/to/store/output/files defconfig
>>
>> Creating a build directory automatically would be useful.
>>
>> Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx>
>> ---
>>  Makefile | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 575e1f8..35b5b7e 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -120,9 +120,10 @@ ifneq ($(KBUILD_OUTPUT),)
>>  # Invoke a second make in the output directory, passing relevant variables
>>  # check that the output directory actually exists
>>  saved-output := $(KBUILD_OUTPUT)
>> -KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
>> +KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \
>> +								&& /bin/pwd)
>>  $(if $(KBUILD_OUTPUT),, \
>> -     $(error output directory "$(saved-output)" does not exist))
>> +     $(error failed to create output directory "$(saved-output)"))
>>  
>>  PHONY += $(MAKECMDGOALS) sub-make
> 
> Hi Masahiro.
> 
> In the past I have rejected such patches - but today I fail to recall why.

I believe that it was due this kind of patch allowing typos to cause
builds that one does not want to make.

E.g., if I already have O=OUT1 directory and I mistype O=OUT2, this will cause
a full build (potentially) in OUT2, even if it should do a small rebuild in
OUT1 instead.

I think this is bad, but I won't exactly nak it.

> I did a very quick test-spin on this and worked nicely.
> 
> So you get my:
> 
> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>


-- 
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux