blob: f59bff7bc836336a6d651a5cdb435b3637ef45e0 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# SPDX-License-Identifier: GPL-2.0
2# Copyright (C) 2019 MediaTek Inc.
3
4LOCAL_PATH := $(call my-dir)
5
6ifeq ($(notdir $(LOCAL_PATH)),$(strip $(LINUX_KERNEL_VERSION)))
7ifneq ($(strip $(TARGET_NO_KERNEL)),true)
8
9include $(LOCAL_PATH)/kenv.mk
10include $(LOCAL_PATH)/kernel_modules.mk
11
12ifeq ($(wildcard $(TARGET_PREBUILT_KERNEL)),)
13KERNEL_MAKE_DEPENDENCIES := $(shell find $(KERNEL_DIR) -name .git -prune -o -type f | sort)
14
15$(TARGET_KERNEL_CONFIG): PRIVATE_DIR := $(KERNEL_DIR)
16$(TARGET_KERNEL_CONFIG): $(KERNEL_CONFIG_FILE) $(LOCAL_PATH)/Android.mk
17$(TARGET_KERNEL_CONFIG): $(KERNEL_MAKE_DEPENDENCIES)
18 $(hide) mkdir -p $(dir $@)
19 $(PREBUILT_MAKE_PREFIX)$(MAKE) -C $(PRIVATE_DIR) $(KERNEL_MAKE_OPTION) $(KERNEL_DEFCONFIG)
20
21.KATI_RESTAT: $(KERNEL_ZIMAGE_OUT)
22$(KERNEL_ZIMAGE_OUT): PRIVATE_DIR := $(KERNEL_DIR)
23$(KERNEL_ZIMAGE_OUT): $(TARGET_KERNEL_CONFIG) $(KERNEL_MAKE_DEPENDENCIES)
24 $(hide) mkdir -p $(dir $@)
25 $(PREBUILT_MAKE_PREFIX)$(MAKE) -C $(PRIVATE_DIR) $(KERNEL_MAKE_OPTION)
26 $(hide) $(call fixup-kernel-cmd-file,$(KERNEL_OUT)/arch/$(KERNEL_TARGET_ARCH)/boot/compressed/.piggy.xzkern.cmd)
27 cat $(IMAGE_GZ_PATH) $(MTK_APPEND_DTB_PATH) > $(MTK_IMAGE_GZ_DTB_PATH)
28
29$(BUILT_KERNEL_TARGET): $(KERNEL_ZIMAGE_OUT) $(TARGET_KERNEL_CONFIG) $(LOCAL_PATH)/Android.mk | $(ACP)
30 $(copy-file-to-target)
31
32$(TARGET_PREBUILT_KERNEL): $(BUILT_KERNEL_TARGET) $(LOCAL_PATH)/Android.mk | $(ACP)
33 $(copy-file-to-new-target)
34
35endif #TARGET_PREBUILT_KERNEL is empty
36
37$(INSTALLED_KERNEL_TARGET): $(BUILT_KERNEL_TARGET) $(LOCAL_PATH)/Android.mk | $(ACP)
38 $(copy-file-to-target)
39
40.PHONY: kernel save-kernel kernel-savedefconfig kernel-menuconfig menuconfig-kernel savedefconfig-kernel clean-kernel
41kernel: $(INSTALLED_KERNEL_TARGET)
42save-kernel: $(TARGET_PREBUILT_KERNEL)
43
44kernel-savedefconfig: $(TARGET_KERNEL_CONFIG)
45 cp $(TARGET_KERNEL_CONFIG) $(KERNEL_CONFIG_FILE)
46
47kernel-menuconfig:
48 $(hide) mkdir -p $(KERNEL_OUT)
49 $(MAKE) -C $(KERNEL_DIR) $(KERNEL_MAKE_OPTION) menuconfig
50
51menuconfig-kernel savedefconfig-kernel:
52 $(hide) mkdir -p $(KERNEL_OUT)
53 $(MAKE) -C $(KERNEL_DIR) $(KERNEL_MAKE_OPTION) $(patsubst %config-kernel,%config,$@)
54
55clean-kernel:
56 $(hide) rm -rf $(KERNEL_OUT) $(INSTALLED_KERNEL_TARGET)
57
58endif #TARGET_NO_KERNEL
59endif #LINUX_KERNEL_VERSION