Commit | Line | Data |
---|---|---|
6fa3eb70 S |
1 | # |
2 | # Copyright (C) 2009-2011 The Android-x86 Open Source Project | |
3 | # | |
4 | # Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | # you may not use this file except in compliance with the License. | |
6 | # You may obtain a copy of the License at | |
7 | # | |
8 | # http://www.apache.org/licenses/LICENSE-2.0 | |
9 | # | |
10 | ifeq ($(LINUX_KERNEL_VERSION),kernel-3.10) | |
11 | ifneq ($(strip $(MTK_EMULATOR_SUPPORT)),yes) | |
12 | ifneq ($(strip $(MTK_PROJECT_NAME)),) | |
13 | ||
14 | ifneq ($(wildcard $(call my-dir)/arch/$(TARGET_ARCH)/configs/$(KERNEL_DEFCONFIG)),) | |
15 | ||
16 | KERNEL_DIR := $(call my-dir) | |
17 | ROOTDIR := $(abspath $(TOP)) | |
18 | ||
19 | ifneq ($(filter /% ~%,$(OUT_DIR)),) | |
20 | KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ | |
21 | else | |
22 | KERNEL_OUT := $(ROOTDIR)/$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ | |
23 | endif | |
24 | ||
25 | ifeq ($(TARGET_ARCH), arm64) | |
26 | ifeq ($(MTK_APPENDED_DTB_SUPPORT), yes) | |
27 | TARGET_PREBUILT_KERNEL := $(KERNEL_OUT)/arch/$(TARGET_ARCH)/boot/Image.gz-dtb | |
28 | else | |
29 | TARGET_PREBUILT_KERNEL := $(KERNEL_OUT)/arch/$(TARGET_ARCH)/boot/Image.gz | |
30 | endif | |
31 | else | |
32 | ifeq ($(MTK_APPENDED_DTB_SUPPORT), yes) | |
33 | TARGET_PREBUILT_KERNEL := $(KERNEL_OUT)/arch/$(TARGET_ARCH)/boot/zImage-dtb | |
34 | else | |
35 | TARGET_PREBUILT_KERNEL := $(KERNEL_OUT)/arch/$(TARGET_ARCH)/boot/zImage | |
36 | endif | |
37 | endif | |
38 | TARGET_PREBUILT_KERNEL_BIN := $(KERNEL_OUT)/arch/$(TARGET_ARCH)/boot/zImage.bin | |
39 | ||
40 | TARGET_KERNEL_CONFIG := $(KERNEL_OUT)/.config | |
41 | KERNEL_HEADERS_INSTALL := $(KERNEL_OUT)/usr | |
42 | ||
43 | ifneq ($(strip $(TARGET_NO_KERNEL)),true) | |
44 | INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel | |
45 | else | |
46 | INSTALLED_KERNEL_TARGET := | |
47 | endif | |
48 | ||
49 | ifeq ($(KERNEL_CROSS_COMPILE),) | |
50 | ifeq ($(TARGET_ARCH), arm64) | |
51 | KERNEL_CROSS_COMPILE := aarch64-linux-android- | |
52 | else | |
53 | KERNEL_CROSS_COMPILE := arm-eabi- | |
54 | endif | |
55 | endif | |
56 | ||
57 | $(KERNEL_OUT): | |
58 | mkdir -p $@ | |
59 | ||
60 | .PHONY: kernel kernel-defconfig kernel-menuconfig clean-kernel | |
61 | kernel-menuconfig: | $(KERNEL_OUT) | |
62 | $(MAKE) -C $(KERNEL_DIR) O=$(KERNEL_OUT) ARCH=$(TARGET_ARCH) MTK_TARGET_PROJECT=${MTK_TARGET_PROJECT} CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) ROOTDIR=$(ROOTDIR) menuconfig | |
63 | ||
64 | kernel-savedefconfig: | $(KERNEL_OUT) | |
65 | cp $(TARGET_KERNEL_CONFIG) $(KERNEL_DIR)/arch/$(TARGET_ARCH)/configs/$(KERNEL_DEFCONFIG) | |
66 | ||
67 | $(TARGET_PREBUILT_KERNEL): kernel | |
68 | @echo Done kernel | |
69 | ||
70 | $(TARGET_KERNEL_CONFIG) kernel-defconfig: $(KERNEL_DIR)/arch/$(TARGET_ARCH)/configs/$(KERNEL_DEFCONFIG) | $(KERNEL_OUT) | |
71 | $(MAKE) -C $(KERNEL_DIR) O=$(KERNEL_OUT) ARCH=$(TARGET_ARCH) MTK_TARGET_PROJECT=${MTK_TARGET_PROJECT} CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) ROOTDIR=$(ROOTDIR) $(KERNEL_DEFCONFIG) | |
72 | $(MAKE) -C $(KERNEL_DIR) O=$(KERNEL_OUT) ARCH=$(TARGET_ARCH) MTK_TARGET_PROJECT=${MTK_TARGET_PROJECT} CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) ROOTDIR=$(ROOTDIR) oldconfig | |
73 | ||
74 | $(KERNEL_HEADERS_INSTALL): $(TARGET_KERNEL_CONFIG) | $(KERNEL_OUT) | |
75 | $(MAKE) -C $(KERNEL_DIR) O=$(KERNEL_OUT) ARCH=$(TARGET_ARCH) MTK_TARGET_PROJECT=${MTK_TARGET_PROJECT} CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) ROOTDIR=$(ROOTDIR) headers_install | |
76 | ||
77 | kernel: $(TARGET_KERNEL_CONFIG) $(KERNEL_HEADERS_INSTALL) | $(KERNEL_OUT) | |
78 | $(MAKE) -C $(KERNEL_DIR) O=$(KERNEL_OUT) ARCH=$(TARGET_ARCH) MTK_TARGET_PROJECT=${MTK_TARGET_PROJECT} CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) ROOTDIR=$(ROOTDIR) | |
79 | ||
80 | $(INSTALLED_KERNEL_TARGET): kernel | |
81 | ||
82 | ifeq ($(strip $(MTK_HEADER_SUPPORT)),yes) | |
83 | $(TARGET_PREBUILT_KERNEL_BIN): $(TARGET_PREBUILT_KERNEL) | $(HOST_OUT_EXECUTABLES)/mkimage | |
84 | $(HOST_OUT_EXECUTABLES)/mkimage $< KERNEL 0xffffffff > $@ | |
85 | ||
86 | $(INSTALLED_KERNEL_TARGET): $(TARGET_PREBUILT_KERNEL_BIN) | $(ACP) | |
87 | $(copy-file-to-target) | |
88 | else | |
89 | $(INSTALLED_KERNEL_TARGET): $(TARGET_PREBUILT_KERNEL) | $(ACP) | |
90 | $(copy-file-to-target) | |
91 | endif | |
92 | ||
93 | clean-kernel: | |
94 | @rm -rf $(KERNEL_OUT) | |
95 | ||
96 | endif | |
97 | endif | |
98 | endif | |
99 | endif # Ifeq ($(LINUX_KERNEL_VERSION),kernel-3.10) | |
100 |