SoC common: Makefile: move toolchain preparation to scripts [1/1]
PD#SWPL-61282
Problem:
move toolchain preparation to scripts
Solution:
move toolchain preparation to scripts
rename output_DIR to OUTPUT_DIR
rename toolchain_DIR to TOOLCHAIN_DIR
Verify:
all
Change-Id: If7c7e18840542d127d2fcebb8c2deb4bf27b53f8
Signed-off-by: Keguang Zhang <keguang.zhang@gmail.com>
diff --git a/Makefile b/Makefile
index ca92de9..47c6b14 100644
--- a/Makefile
+++ b/Makefile
@@ -36,9 +36,9 @@
sign_tool_DIR := $(PRJDIR)/tools/sign_tool
adnl_DIR := $(PRJDIR)/tools/adnl
-output_DIR := $(PRJDIR)/output
-BUILD_DIR := $(output_DIR)/$(ARCH)-$(BOARD)-$(PRODUCT)
-docs_BUILD_DIR := $(output_DIR)/docs/$(DOCS_ARCH)
+OUTPUT_DIR := $(PRJDIR)/output
+BUILD_DIR := $(OUTPUT_DIR)/$(ARCH)-$(BOARD)-$(PRODUCT)
+docs_BUILD_DIR := $(OUTPUT_DIR)/docs/$(DOCS_ARCH)
bootloader_BUILD_DIR := $(BUILD_DIR)/$(BOOT)
kernel_BUILD_DIR := $(BUILD_DIR)/$(KERNEL)
sign_tool_BUILD_DIR := $(sign_tool_DIR)
@@ -60,16 +60,11 @@
SIGNTOOL = $(sign_tool_DIR)/imgtool.py
SDK_BASE := $(PRJDIR)
-toolchain_DIR := $(output_DIR)/toolchains/$(COMPILER)-$(TOOLCHAIN_KEYWORD)
-CROSSTOOL := $(PRJDIR)/arch/$(ARCH)/toolchain/$(COMPILER)*$(TOOLCHAIN_KEYWORD)
-PATH := $(toolchain_DIR)/bin:$(PATH)
+TOOLCHAIN_DIR := $(OUTPUT_DIR)/toolchains/$(COMPILER)-$(TOOLCHAIN_KEYWORD)
+PATH := $(TOOLCHAIN_DIR)/bin:$(PATH)
#This code segment is used to set the path of the compiler for the find_compiler.cmake to search.
-ifeq ($(ARCH),arm)
- TOOLCHAIN_PATH=$(toolchain_DIR)
-else ifeq ($(ARCH),arm64)
- TOOLCHAIN_PATH=$(toolchain_DIR)
-else ifeq ($(ARCH),xtensa)
+ifeq ($(ARCH),xtensa)
XTENSA_LOWPOWER_PATTERN=_lowpower
ifeq ($(SOC),$(filter $(SOC),a5 t3x s6))
XTENSA_CORE = Amlogic_v9
@@ -235,7 +230,7 @@
ifeq ($(call ifndef_any_of,ARCH SOC BOARD PRODUCT),)
@ if [ -d $(BUILD_DIR) ]; then rm -rf $(BUILD_DIR); fi
else
- @ if [ -d $(output_DIR) ]; then rm -rf $(output_DIR); fi
+ @ if [ -d $(OUTPUT_DIR) ]; then rm -rf $(OUTPUT_DIR); fi
endif
.PHONY: project
@@ -282,30 +277,7 @@
.PHONY: toolchain
toolchain:
-ifndef COMPILER
- $(error COMPILER is not set, Please execute source scripts/env.sh)
-endif
- @ if [[ "$(ARCH)" == "arm" || "$(ARCH)" == "arm64" ]]; then \
- if [ ! -d $($@_DIR) ]; then \
- $(call MESSAGE,"Extracting $@"); \
- mkdir -p $($@_DIR); \
- tar -xf $(CROSSTOOL).tar.xz -C $($@_DIR) --strip-components=1; \
- touch $($@_DIR); \
- fi; \
- if ( find $(CROSSTOOL).tar.xz -newer $($@_DIR) | grep -q $(CROSSTOOL).tar.xz ); then \
- $(call MESSAGE,"Updating $@"); \
- rm -rf $($@_DIR)/*; \
- tar -xf $(CROSSTOOL).tar.xz -C $($@_DIR) --strip-components=1; \
- touch $($@_DIR); \
- fi; \
- if [ -f $(CROSSTOOL).patch ]; then \
- cd $(output_DIR)/toolchains; \
- if patch -N -f -s --dry-run -p0 < $(CROSSTOOL).patch >/dev/null; then \
- $(call MESSAGE,"Preparing $@"); \
- patch -s -p0 < $(CROSSTOOL).patch; \
- fi; \
- fi; \
- fi
+ @ ./scripts/prepare_toolchain.sh
.PHONY: menuconfig
menuconfig: toolchain $(kernel_BUILD_DIR)