From 0dd83b0a52be42e214b4427ca6975ba020e24106 Mon Sep 17 00:00:00 2001 From: Mykyta Iziumtsev Date: Thu, 14 Feb 2019 13:26:46 +0000 Subject: [PATCH 1/2] Add facility to cross-compile scripts while packaging linux-headers --- scripts/Kbuild.include | 24 ++++++++++++++++++++++-- scripts/mod/Makefile | 2 +- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index a9aaabc..4db0fa3 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include @@ -327,11 +327,31 @@ if_changed_dep = $(if $(strip $(any-prereq) $(arg-check) ), \ @set -e; \ $(cmd_and_fixdep), @:) +# Facility to cross-compile scripts while packaging linux-headers, e.g.: +# +# # Build scripts for the host +# make ARCH=arm64 scripts +# cp -r scripts cross_scripts +# +# # Rebuild scripts for the target +# make ARCH=arm64 M=scripts/ clean +# make ARCH=arm64 scripts CROSS_SCRIPTS=cross_scripts \ +# HOSTCC=${CROSS_COMPILE}gcc HOSTLD=${CROSS_COMPILE}ld +# +# # Package linux-headers +# ... +# +# # Cleanup +# rm -rf cross_scripts +# make ARCH=arm64 M=scripts/ clean +CROSS_SCRIPTS ?= scripts + ifndef CONFIG_TRIM_UNUSED_KSYMS cmd_and_fixdep = \ $(echo-cmd) $(cmd_$(1)); \ - scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(dot-target).tmp;\ + $(CROSS_SCRIPTS)/basic/fixdep $(depfile) $@ '$(make-cmd)' \ + > $(dot-target).tmp; \ rm -f $(depfile); \ mv -f $(dot-target).tmp $(dot-target).cmd; @@ -355,7 +375,7 @@ ksym_dep_filter = \ cmd_and_fixdep = \ $(echo-cmd) $(cmd_$(1)); \ $(ksym_dep_filter) | \ - scripts/basic/fixdep -e $(depfile) $@ '$(make-cmd)' \ + $(CROSS_SCRIPTS)/basic/fixdep -e $(depfile) $@ '$(make-cmd)' \ > $(dot-target).tmp; \ rm -f $(depfile); \ mv -f $(dot-target).tmp $(dot-target).cmd; diff --git a/scripts/mod/Makefile b/scripts/mod/Makefile index 247cf1f..17f9887 100644 --- a/scripts/mod/Makefile +++ b/scripts/mod/Makefile @@ -19,7 +19,7 @@ $(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o: $(obj)/elfconfig.h $(obj)/file2alias.o: $(obj)/$(devicetable-offsets-file) quiet_cmd_elfconfig = MKELF $@ - cmd_elfconfig = $(obj)/mk_elfconfig < $< > $@ + cmd_elfconfig = $(CROSS_SCRIPTS)/mod/mk_elfconfig < $< > $@ $(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_elfconfig FORCE $(call if_changed,elfconfig) -- 2.7.4