Makefile: update Makefile [1/1]
PD#SWPL-61282
Problem:
update Makefile
Solution:
change BUILD_DIR to support both ARM64 and ARM
update toolchain target
Verify:
ad401_a113l
Signed-off-by: Kelvin Zhang <kelvin.zhang@amlogic.com>
Change-Id: I49377367394bafbfbe408b011ce9f4b5277b181b
diff --git a/Makefile b/Makefile
index 645f5f1..db8893d 100755
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@
sign_tool_DIR := $(PRJDIR)/tools/sign_tool
adnl_DIR := $(PRJDIR)/tools/adnl
-BUILD_DIR := $(PRJDIR)/output/$(BOARD)-$(PRODUCT)
+BUILD_DIR := $(PRJDIR)/output/$(ARCH)-$(BOARD)-$(PRODUCT)
docs_BUILD_DIR := $(PRJDIR)/output/docs
bootloader_BUILD_DIR := $(BUILD_DIR)/$(BOOT)
kernel_BUILD_DIR := $(BUILD_DIR)/$(KERNEL)
@@ -53,7 +53,7 @@
SDK_BASE := $(PRJDIR)
toolchain_DIR := $(build_DIR)/toolchains/$(COMPILER)-$(TOOLCHAIN_KEYWORD)
-CROSSTOOL := $(build_DIR)/toolchains/$(COMPILER)*$(TOOLCHAIN_KEYWORD)*.tar.xz
+CROSSTOOL := $(build_DIR)/toolchains/$(COMPILER)*$(TOOLCHAIN_KEYWORD)
PATH := $(toolchain_DIR)/bin:$(PATH)
#xtensa toolchain option by soc name
@@ -218,7 +218,7 @@
ifndef PRODUCT
$(error PRODUCT is not set, Please execute source scripts/env.sh)
endif
- @ $(call MESSAGE,"Building $(BOARD) \($(SOC)\) $(PRODUCT)")
+ @ $(call MESSAGE,"Building $(ARCH) $(SOC) $(BOARD) $(PRODUCT)")
.PHONY: docs
docs:
@@ -255,17 +255,22 @@
endif
@ if [[ "$(TOOLCHAIN_KEYWORD)-$(COMPILER)" != "xt-xcc" ]]; then \
if [ ! -d $($@_DIR) ]; then \
- $(call MESSAGE,"Preparing $@"); \
+ $(call MESSAGE,"Extracting $@"); \
mkdir -p $($@_DIR); \
- tar -xf $(CROSSTOOL) -C $($@_DIR) --strip-components=1; \
- touch $($@_DIR); \
fi; \
- if ( find $(CROSSTOOL) -newer $($@_DIR) | grep -q $(CROSSTOOL) ); then \
+ if ( find $(CROSSTOOL).tar.xz -newer $($@_DIR) | grep -q $(CROSSTOOL).tar.xz ); then \
$(call MESSAGE,"Updating $@"); \
rm -rf $($@_DIR)/*; \
- tar -xf $(CROSSTOOL) -C $($@_DIR) --strip-components=1; \
+ tar -xf $(CROSSTOOL).tar.xz -C $($@_DIR) --strip-components=1; \
touch $($@_DIR); \
fi; \
+ if [ -f $(CROSSTOOL).patch ]; then \
+ cd $(build_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
.PHONY: menuconfig