mirror of https://gitee.com/openkylin/linux.git
Kbuild: allow arch/xxx to use a different source path
Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. This allows to keep the original arch directories as stubs for the main Makefiles, Kconfigs et. al during the transition phase while having the code in the new arch/x86 directory. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
d7394fe57a
commit
6752ed90da
6
Kbuild
6
Kbuild
|
@ -12,7 +12,7 @@ offsets-file := include/asm-$(ARCH)/asm-offsets.h
|
||||||
|
|
||||||
always := $(offsets-file)
|
always := $(offsets-file)
|
||||||
targets := $(offsets-file)
|
targets := $(offsets-file)
|
||||||
targets += arch/$(ARCH)/kernel/asm-offsets.s
|
targets += arch/$(SRCARCH)/kernel/asm-offsets.s
|
||||||
clean-files := $(addprefix $(objtree)/,$(targets))
|
clean-files := $(addprefix $(objtree)/,$(targets))
|
||||||
|
|
||||||
# Default sed regexp - multiline due to syntax constraints
|
# Default sed regexp - multiline due to syntax constraints
|
||||||
|
@ -40,11 +40,11 @@ define cmd_offsets
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# We use internal kbuild rules to avoid the "is up to date" message from make
|
# We use internal kbuild rules to avoid the "is up to date" message from make
|
||||||
arch/$(ARCH)/kernel/asm-offsets.s: arch/$(ARCH)/kernel/asm-offsets.c FORCE
|
arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c FORCE
|
||||||
$(Q)mkdir -p $(dir $@)
|
$(Q)mkdir -p $(dir $@)
|
||||||
$(call if_changed_dep,cc_s_c)
|
$(call if_changed_dep,cc_s_c)
|
||||||
|
|
||||||
$(obj)/$(offsets-file): arch/$(ARCH)/kernel/asm-offsets.s Kbuild
|
$(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild
|
||||||
$(Q)mkdir -p $(dir $@)
|
$(Q)mkdir -p $(dir $@)
|
||||||
$(call cmd,offsets)
|
$(call cmd,offsets)
|
||||||
|
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -186,7 +186,8 @@ ARCH ?= $(SUBARCH)
|
||||||
CROSS_COMPILE ?=
|
CROSS_COMPILE ?=
|
||||||
|
|
||||||
# Architecture as present in compile.h
|
# Architecture as present in compile.h
|
||||||
UTS_MACHINE := $(ARCH)
|
UTS_MACHINE := $(ARCH)
|
||||||
|
SRCARCH := $(ARCH)
|
||||||
|
|
||||||
KCONFIG_CONFIG ?= .config
|
KCONFIG_CONFIG ?= .config
|
||||||
|
|
||||||
|
@ -322,7 +323,7 @@ KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
||||||
KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
||||||
|
|
||||||
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
|
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
|
||||||
export ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
|
export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
|
||||||
export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE
|
export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE
|
||||||
export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
|
export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
|
||||||
|
|
||||||
|
@ -609,7 +610,7 @@ libs-y := $(libs-y1) $(libs-y2)
|
||||||
vmlinux-init := $(head-y) $(init-y)
|
vmlinux-init := $(head-y) $(init-y)
|
||||||
vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y)
|
vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y)
|
||||||
vmlinux-all := $(vmlinux-init) $(vmlinux-main)
|
vmlinux-all := $(vmlinux-init) $(vmlinux-main)
|
||||||
vmlinux-lds := arch/$(ARCH)/kernel/vmlinux.lds
|
vmlinux-lds := arch/$(SRCARCH)/kernel/vmlinux.lds
|
||||||
export KBUILD_VMLINUX_OBJS := $(vmlinux-all)
|
export KBUILD_VMLINUX_OBJS := $(vmlinux-all)
|
||||||
|
|
||||||
# Rule to link vmlinux - also used during CONFIG_KALLSYMS
|
# Rule to link vmlinux - also used during CONFIG_KALLSYMS
|
||||||
|
|
Loading…
Reference in New Issue