blob: 87aaf5f1a577d1fdfad846a06fc2e6901b6390b7 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# use new tinysys structure when TINYSYS_STRUCTURE_VERSION is 2
2ifeq (2,$(strip $(TINYSYS_STRUCTURE_VERSION)))
3
4LOCAL_PATH := $(call my-dir)
5include $(CLEAR_VARS)
6
7TINYSYS_MEDMCU := tinysys-medmcu
8TINYSYS_MEDMCU_IMAGE_NAME := medmcu.img
9TINYSYS_MEDMCU_CLEAN_MODULE := clean-$(TINYSYS_MEDMCU)
10TINYSYS_MEDMCU_INSTALLED_TARGET := $(PRODUCT_OUT)/$(TINYSYS_MEDMCU_IMAGE_NAME)
11TINYSYS_MEDMCU_SIGN_IMAGE_TARGET := $(addsuffix -verified$(suffix $(TINYSYS_MEDMCU_INSTALLED_TARGET)),$(basename $(TINYSYS_MEDMCU_INSTALLED_TARGET)))
12
13LOCAL_MODULE := $(TINYSYS_MEDMCU)
14LOCAL_MODULE_STEM := $(TINYSYS_MEDMCU_IMAGE_NAME)
15LOCAL_MODULE_CLASS := TINYSYS_OBJ
16LOCAL_MULTILIB := 32
17LOCAL_MODULE_OWNER := mtk
18LOCAL_MODULE_PATH := $(PRODUCT_OUT)
19include $(BUILD_SYSTEM)/base_rules.mk
20
21TINYSYS_MEDMCU_BUILT_INTERMEDIATES := \
22 $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE))
23TINYSYS_MEDMCU_DEPENDENT_FOLDERS := \
24 $(wildcard $(LOCAL_PATH) $(LOCAL_PATH)/../common $(LOCAL_PATH)/../kernel/*/FreeRTOS/Source $(LOCAL_PATH)/../private)
25TINYSYS_MEDMCU_MAKE_DEPENDENCIES := \
26 $(shell find $(TINYSYS_MEDMCU_DEPENDENT_FOLDERS) -name .git -prune -o -type f | sort)
27TINYSYS_MEDMCU_MAKE_DEPENDENCIES := \
28 $(filter-out %/.git %/.gitignore %/.gitattributes,$(TINYSYS_MEDMCU_MAKE_DEPENDENCIES))
29TINYSYS_MEDMCU_BUILD_CMD := \
30 PROJECT=$(MTK_TARGET_PROJECT) \
31 O=$(abspath $(TINYSYS_MEDMCU_BUILT_INTERMEDIATES)) \
32 BUILD_TYPE=$(if $(filter-out user,$(TARGET_BUILD_VARIANT)),debug,release) \
33 -C $(LOCAL_PATH)
34
35# Config header targets
36TINYSYS_MEDMCU_CONFIG_HEADER := $(TINYSYS_MEDMCU)-configheader
37
38.PHONY: $(TINYSYS_MEDMCU_CONFIG_HEADER)
39$(TINYSYS_MEDMCU_CONFIG_HEADER):
40 $(PREBUILT_MAKE_PREFIX)$(MAKE) $(TINYSYS_MEDMCU_BUILD_CMD) configheader
41
42# Main targets
43.PHONY: $(TINYSYS_MEDMCU)
44$(TINYSYS_MEDMCU): $(TINYSYS_MEDMCU_SIGN_IMAGE_TARGET)
45$(TINYSYS_MEDMCU_SIGN_IMAGE_TARGET):
46.KATI_RESTAT: $(LOCAL_INSTALLED_MODULE)
47
48$(LOCAL_BUILT_MODULE): $(TINYSYS_MEDMCU_MAKE_DEPENDENCIES) | check-$(TINYSYS_MEDMCU)-config
49 $(PREBUILT_MAKE_PREFIX)$(MAKE) $(TINYSYS_MEDMCU_BUILD_CMD)
50
51#ifneq (yes,$(MTK_REMAKE_SUBMAKE_FLAG))
52#$(LOCAL_BUILT_MODULE) $(TINYSYS_MEDMCU_CONFIG_HEADER): $(TINYSYS_MEDMCU_CLEAN_MODULE)
53#endif
54
55###########################################################
56# TinySys Check config
57###########################################################
58.PHONY: check-$(TINYSYS_MEDMCU)-config
59check-$(TINYSYS_MEDMCU)-config: $(TINYSYS_MEDMCU_CONFIG_HEADER)
60ifneq (yes,$(strip $(DISABLE_MTK_CONFIG_CHECK)))
61 python device/mediatek/build/build/tools/check_kernel_config.py --prjconfig $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk --project $(MTK_TARGET_PROJECT) --header `find $(TINYSYS_MEDMCU_BUILT_INTERMEDIATES) -type f -name tinysys_config.h | tr "\n" "," | sed -e "s/,$$//"`
62else
63 -python device/mediatek/build/build/tools/check_kernel_config.py --prjconfig $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk --project $(MTK_TARGET_PROJECT) --header `find $(TINYSYS_MEDMCU_BUILT_INTERMEDIATES) -type f -name tinysys_config.h | tr "\n" "," | sed -e "s/,$$//"`
64endif
65
66ifneq (,$(filter yes,$(MTK_TINYSYS_MEDMCU_SUPPORT)))
67.PHONY: check-mtk-config
68check-mtk-config: check-$(TINYSYS_MEDMCU)-config
69endif
70
71###########################################################
72# Collect NOTICE files
73###########################################################
74TINYSYS_MEDMCU_NOTICE_FILES := \
75 $(shell find $(LOCAL_PATH) -type f -name '*NOTICE*.txt' -printf '%P\n')
76TINYSYS_MEDMCU_NOTICE_FILES_INSTALLED := \
77 $(TINYSYS_MEDMCU_NOTICE_FILES:%=$(TARGET_OUT_NOTICE_FILES)/src/tinysys/%)
78
79$(TARGET_OUT_INTERMEDIATES)/NOTICE.html: $(TINYSYS_MEDMCU_NOTICE_FILES_INSTALLED)
80
81$(TINYSYS_MEDMCU_NOTICE_FILES_INSTALLED): \
82 $(TARGET_OUT_NOTICE_FILES)/src/tinysys/%: $(LOCAL_PATH)/% | $(ACP)
83 @echo Copying: $@
84 $(hide) mkdir -p $(dir $@)
85 $(hide) $(ACP) $< $
86
87endif