xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | # use new tinysys structure when TINYSYS_STRUCTURE_VERSION is 2 |
| 2 | ifeq (2,$(strip $(TINYSYS_STRUCTURE_VERSION))) |
| 3 | |
| 4 | LOCAL_PATH := $(call my-dir) |
| 5 | include $(CLEAR_VARS) |
| 6 | |
| 7 | TINYSYS_MEDMCU := tinysys-medmcu |
| 8 | TINYSYS_MEDMCU_IMAGE_NAME := medmcu.img |
| 9 | TINYSYS_MEDMCU_CLEAN_MODULE := clean-$(TINYSYS_MEDMCU) |
| 10 | TINYSYS_MEDMCU_INSTALLED_TARGET := $(PRODUCT_OUT)/$(TINYSYS_MEDMCU_IMAGE_NAME) |
| 11 | TINYSYS_MEDMCU_SIGN_IMAGE_TARGET := $(addsuffix -verified$(suffix $(TINYSYS_MEDMCU_INSTALLED_TARGET)),$(basename $(TINYSYS_MEDMCU_INSTALLED_TARGET))) |
| 12 | |
| 13 | LOCAL_MODULE := $(TINYSYS_MEDMCU) |
| 14 | LOCAL_MODULE_STEM := $(TINYSYS_MEDMCU_IMAGE_NAME) |
| 15 | LOCAL_MODULE_CLASS := TINYSYS_OBJ |
| 16 | LOCAL_MULTILIB := 32 |
| 17 | LOCAL_MODULE_OWNER := mtk |
| 18 | LOCAL_MODULE_PATH := $(PRODUCT_OUT) |
| 19 | include $(BUILD_SYSTEM)/base_rules.mk |
| 20 | |
| 21 | TINYSYS_MEDMCU_BUILT_INTERMEDIATES := \ |
| 22 | $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE)) |
| 23 | TINYSYS_MEDMCU_DEPENDENT_FOLDERS := \ |
| 24 | $(wildcard $(LOCAL_PATH) $(LOCAL_PATH)/../common $(LOCAL_PATH)/../kernel/*/FreeRTOS/Source $(LOCAL_PATH)/../private) |
| 25 | TINYSYS_MEDMCU_MAKE_DEPENDENCIES := \ |
| 26 | $(shell find $(TINYSYS_MEDMCU_DEPENDENT_FOLDERS) -name .git -prune -o -type f | sort) |
| 27 | TINYSYS_MEDMCU_MAKE_DEPENDENCIES := \ |
| 28 | $(filter-out %/.git %/.gitignore %/.gitattributes,$(TINYSYS_MEDMCU_MAKE_DEPENDENCIES)) |
| 29 | TINYSYS_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 |
| 36 | TINYSYS_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 |
| 59 | check-$(TINYSYS_MEDMCU)-config: $(TINYSYS_MEDMCU_CONFIG_HEADER) |
| 60 | ifneq (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/,$$//"` |
| 62 | else |
| 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/,$$//"` |
| 64 | endif |
| 65 | |
| 66 | ifneq (,$(filter yes,$(MTK_TINYSYS_MEDMCU_SUPPORT))) |
| 67 | .PHONY: check-mtk-config |
| 68 | check-mtk-config: check-$(TINYSYS_MEDMCU)-config |
| 69 | endif |
| 70 | |
| 71 | ########################################################### |
| 72 | # Collect NOTICE files |
| 73 | ########################################################### |
| 74 | TINYSYS_MEDMCU_NOTICE_FILES := \ |
| 75 | $(shell find $(LOCAL_PATH) -type f -name '*NOTICE*.txt' -printf '%P\n') |
| 76 | TINYSYS_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 | |
| 87 | endif |