diff options
Diffstat (limited to 'AndroidKernel.mk')
| -rw-r--r-- | AndroidKernel.mk | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/AndroidKernel.mk b/AndroidKernel.mk index 3db9ac9f..f09e0440 100644 --- a/AndroidKernel.mk +++ b/AndroidKernel.mk @@ -21,10 +21,12 @@ $(warning Forcing kernel header generation only for '$(TARGET_KERNEL_HEADER_ARCH KERNEL_HEADER_ARCH := $(TARGET_KERNEL_HEADER_ARCH) endif -KERNEL_HEADER_DEFCONFIG := $(strip $(KERNEL_HEADER_DEFCONFIG)) -ifeq ($(KERNEL_HEADER_DEFCONFIG),) -KERNEL_HEADER_DEFCONFIG := $(KERNEL_DEFCONFIG) -endif +#Lenovo-sw weimh1 mod 2016-3-9 begin:del here +#KERNEL_HEADER_DEFCONFIG := $(strip $(KERNEL_HEADER_DEFCONFIG)) +#ifeq ($(KERNEL_HEADER_DEFCONFIG),) +#KERNEL_HEADER_DEFCONFIG := $(KERNEL_DEFCONFIG) +#endif +#Lenovo-sw weimh1 mod 2016-3-9 end # Force 32-bit binder IPC for 64bit kernel with 32bit userspace ifeq ($(KERNEL_ARCH),arm64) @@ -120,17 +122,28 @@ $(KERNEL_USR): $(KERNEL_HEADERS_INSTALL) $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_USR) endif +include kernel/defconfig.mk + +KERNEL_HEADER_DEFCONFIG := $(strip $(KERNEL_HEADER_DEFCONFIG)) +ifeq ($(KERNEL_HEADER_DEFCONFIG),) +KERNEL_HEADER_DEFCONFIG := $(TARGET_DEFCONFIG) +endif + +define do-kernel-config + ( cp $(3) $(2) && $(7) -C $(4) O=$(1) ARCH=$(5) CROSS_COMPILE=$(6) KBUILD_BUILD_USER=$(TARGET_KERNEL_BUILD_USER) KBUILD_BUILD_HOST=$(TARGET_KERNEL_BUILD_HOST) defoldconfig ) || ( rm -f $(2) && false ) +endef + $(KERNEL_OUT): mkdir -p $(KERNEL_OUT) -$(KERNEL_CONFIG): $(KERNEL_OUT) - $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG) +$(KERNEL_CONFIG): $(KERNEL_OUT) $(TARGET_DEFCONFIG) + $(call do-kernel-config,$(BUILD_ROOT_LOC)$(KERNEL_OUT),$@,$(TARGET_DEFCONFIG),$(TARGET_KERNEL_SOURCE),$(KERNEL_ARCH),$(KERNEL_CROSS_COMPILE),$(MAKE)) $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \ echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \ echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) oldconfig; fi -$(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) +$(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_CONFIG) $(KERNEL_HEADERS_INSTALL) $(hide) echo "Building kernel..." $(hide) rm -rf $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_CFLAGS) @@ -139,15 +152,15 @@ $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) $(mv-modules) $(clean-module-folder) -$(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) +$(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) $(KERNEL_CONFIG) $(hide) if [ ! -z "$(KERNEL_HEADER_DEFCONFIG)" ]; then \ rm -f $(BUILD_ROOT_LOC)$(KERNEL_CONFIG); \ - $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_HEADER_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_HEADER_DEFCONFIG); \ + $(call do-kernel-config,$(BUILD_ROOT_LOC)$(KERNEL_OUT),$(KERNEL_CONFIG),$(KERNEL_HEADER_DEFCONFIG),$(TARGET_KERNEL_SOURCE),$(KERNEL_HEADER_ARCH),$(KERNEL_CROSS_COMPILE),$(MAKE)); \ $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_HEADER_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) headers_install; fi $(hide) if [ "$(KERNEL_HEADER_DEFCONFIG)" != "$(KERNEL_DEFCONFIG)" ]; then \ echo "Used a different defconfig for header generation"; \ rm -f $(BUILD_ROOT_LOC)$(KERNEL_CONFIG); \ - $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG); fi + $(call do-kernel-config,$(BUILD_ROOT_LOC)$(KERNEL_OUT),$(KERNEL_CONFIG),$(TARGET_DEFCONFIG),$(TARGET_KERNEL_SOURCE),$(KERNEL_ARCH),$(KERNEL_CROSS_COMPILE),$(MAKE));fi $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \ echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \ echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ |
