[PATCH v2] build: create $(PKG_SYMVERS_DIR) if non-existent

Felix Fietkau nbd at nbd.name
Wed Nov 18 02:05:15 EST 2020


On 2020-11-18 06:54, Oldřich Jedlička wrote:
> út 17. 11. 2020 v 23:00 odesílatel Sebastian Kemper
> <sebastian_ml at gmx.net> napsal:
>>
>> Commit 5d76065 moved the creation of the symvers directory to
>> include/kernel-build.mk. This is fine when building from scratch. But
>> when unpacking an SDK the directory doesn't exist and because the kernel
>> won't be built (again) this directory will not be created by the build
>> system, causing build failure if make tries to copy files into it.
>>
>> This moves the creation of the symvers directory back into
>> include/kernel.mk so that the directory is created in any case.
>>
>> Signed-off-by: Sebastian Kemper <sebastian_ml at gmx.net>
>> ---
>>  include/kernel-build.mk | 1 -
>>  include/kernel.mk       | 1 +
>>  2 files changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/kernel-build.mk b/include/kernel-build.mk
>> index a698deec3c..22f7c4c7c7 100644
>> --- a/include/kernel-build.mk
>> +++ b/include/kernel-build.mk
>> @@ -136,7 +136,6 @@ define BuildKernel
>>    $(LINUX_DIR)/.modules: export PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
>>    $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
>>         $(Kernel/CompileModules)
>> -       mkdir -p $(PKG_SYMVERS_DIR)
>>         touch $$@
>>
>>    $(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
>> diff --git a/include/kernel.mk b/include/kernel.mk
>> index 1ae9c6be29..e803ff44e7 100644
>> --- a/include/kernel.mk
>> +++ b/include/kernel.mk
>> @@ -140,6 +140,7 @@ endif
>>  PKG_EXTMOD_SUBDIRS ?= .
>>
>>  PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers
>> +$(shell mkdir -p $(PKG_SYMVERS_DIR))
> 
> Wouldn't it be better to move this few lines below to the place which actually
> uses the folder - into collect_module_symvers? Just before
> 
>   mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_SYMVERS_DIR)/$(PKG_NAME).symvers
Yes, that's a much better solution. Running mkdir inside make context
shell expansion can easily trigger some really nasty build system
performance issues.

- Felix



More information about the openwrt-devel mailing list