Patchwork module-base.bbclass: Call make instead of oe_runmake in do_make_scripts

login
register
mail settings
Submitter Khem Raj
Date Jan. 27, 2013, 6:54 a.m.
Message ID <1359269665-1843-1-git-send-email-raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/43459/
State Accepted
Commit 62285873e2a6b9375a96a3de7a500205aeb18fb3
Headers show

Comments

Khem Raj - Jan. 27, 2013, 6:54 a.m.
This makes the external module compilation a bit more robust for
cases where external module recipes may be passing extra params
to make via EXTRA_OEMAKE, and more that often one needs to pass
M=$(PWD) when building external modules and if we use EXTRA_OEMAKE
that would mean that it would appear in do_make_scripts as well
and since we are only changing the reference kernel src tree here
it will not run the make scripts in desired directory.

It is also well explained in top makefile in kernel tree around
line# 1335 in 3.4

|else # KBUILD_EXTMOD
|
|###
|# External module support.
|# When building external modules the kernel used as basis is considered
|# read-only, and no consistency checks are made and the make
|# system is not used on the basis kernel. If updates are required
|# in the basis kernel ordinary make commands (without M=...) must
|# be used.

Therefore passing  M=... will not do the updates in the basis
kernel as expected with 'make scripts' so we have to bypass EXTRA_OEMAKE

[Yocto #3787]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/module-base.bbclass |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Darren Hart - Jan. 28, 2013, 6:43 p.m.
On 01/26/2013 10:54 PM, Khem Raj wrote:
> This makes the external module compilation a bit more robust for
> cases where external module recipes may be passing extra params
> to make via EXTRA_OEMAKE, and more that often one needs to pass

s/that/than/ (this honestly through me a bit :-)

> M=$(PWD) when building external modules and if we use EXTRA_OEMAKE
> that would mean that it would appear in do_make_scripts as well
> and since we are only changing the reference kernel src tree here
> it will not run the make scripts in desired directory.
> 
> It is also well explained in top makefile in kernel tree around
> line# 1335 in 3.4
> 
> |else # KBUILD_EXTMOD
> |
> |###
> |# External module support.
> |# When building external modules the kernel used as basis is considered
> |# read-only, and no consistency checks are made and the make
> |# system is not used on the basis kernel. If updates are required
> |# in the basis kernel ordinary make commands (without M=...) must
> |# be used.
> 
> Therefore passing  M=... will not do the updates in the basis
> kernel as expected with 'make scripts' so we have to bypass EXTRA_OEMAKE
> 
> [Yocto #3787]
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>


Acked-by: Darren Hart <dvhart@linux.intel.com>

Thanks Khem!

--
Darren

> ---
>  meta/classes/module-base.bbclass |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass
> index cfee50a..9dbb4b4 100644
> --- a/meta/classes/module-base.bbclass
> +++ b/meta/classes/module-base.bbclass
> @@ -18,6 +18,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
>  #
>  do_make_scripts() {
>  	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 
> -	oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
> +	make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
>  	           -C ${STAGING_KERNEL_DIR} scripts
>  }
>
Khem Raj - Jan. 28, 2013, 7:11 p.m.
On Mon, Jan 28, 2013 at 10:43 AM, Darren Hart <dvhart@linux.intel.com> wrote:
> On 01/26/2013 10:54 PM, Khem Raj wrote:
>> This makes the external module compilation a bit more robust for
>> cases where external module recipes may be passing extra params
>> to make via EXTRA_OEMAKE, and more that often one needs to pass
>
> s/that/than/ (this honestly through me a bit :-)

oh!,

Richard
should  I send a V2 or would you amend it
Khem Raj - Jan. 28, 2013, 8:03 p.m.
On Mon, Jan 28, 2013 at 11:11 AM, Khem Raj <raj.khem@gmail.com> wrote:
>> s/that/than/ (this honestly through me a bit :-)
>
> oh!,
>
> Richard
> should  I send a V2 or would you amend it


OK I have fixed the typo in the pull branch I posted a short while ago.

Patch

diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass
index cfee50a..9dbb4b4 100644
--- a/meta/classes/module-base.bbclass
+++ b/meta/classes/module-base.bbclass
@@ -18,6 +18,6 @@  PACKAGE_ARCH = "${MACHINE_ARCH}"
 #
 do_make_scripts() {
 	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 
-	oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
+	make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
 	           -C ${STAGING_KERNEL_DIR} scripts
 }