SoC common : build :Fixed make docs error between different project. [1/1]

PD#SWPL-192419

Problem:
Compiler path variable which cache in cmake invalidate change another
project.

Solution:
Set the compiler info same to the project by arch_compiler.

Verify:
N/A

Change-Id: I1c983f9a2637a20c9ac8f59f35c3243a7444deba
Signed-off-by: xiaohu.huang <xiaohu.huang@amlogic.com>
diff --git a/Makefile b/Makefile
index 84c6f75..a2f051b 100644
--- a/Makefile
+++ b/Makefile
@@ -246,7 +246,7 @@
 endif
 
 ################################################################
-## Target command:make docs DOCS_ARCH=[arm|arm64|riscv|xtensa]
+## Target command:make [docs|docs-clean] DOCS_ARCH=[arm|arm64|riscv|xtensa]
 ################################################################
 .PHONY: docs
 docs:
@@ -254,10 +254,22 @@
 	@ if [ ! -d $($@_DIR) ]; then \
 		echo "$($@_DIR) is not exist,please set project first with: source scripts/env.sh"; \
 	else \
-		echo "It is generated docs in $($@_BUILD_DIR) from  $($@_DIR)."; \
-		(cd $($@_BUILD_DIR) &&  cmake $($@_DIR) -DARCH_NAME=$(DOCS_ARCH) && make); \
+		echo "Generated docs in $($@_BUILD_DIR) from  $($@_DIR)."; \
+		(rm -rf $($@_BUILD_DIR)/CMakeCache.txt \
+		&& cd $($@_BUILD_DIR) \
+		&& cmake $($@_DIR) -DARCH_NAME=$(DOCS_ARCH) \
+		-DCMAKE_TOOLCHAIN_FILE=$(build_DIR)/cmake/toolchains/$(DOCS_ARCH)_compiler.cmake \
+		&& make); \
 	fi
 
+.PHONY: docs-clean
+docs-clean:
+ifeq ($(call ifndef_any_of,ARCH SOC BOARD PRODUCT),)
+	@ if [ -d $(docs_BUILD_DIR) ]; then rm -rf $(docs_BUILD_DIR); fi
+else
+	@ if [ -d $(OUTPUT_DIR)/docs ]; then rm -rf $(OUTPUT_DIR)/docs; fi
+endif
+
 ################################################################
 # Respective Targets
 ################################################################
@@ -287,17 +299,17 @@
 menuconfig: toolchain $(kernel_BUILD_DIR)
 	@ cmake --build $(kernel_BUILD_DIR) --target $@
 
-%defconfig:config_clean toolchain
+%defconfig:config-clean toolchain
 	@ make $(kernel_BUILD_DIR) BOARD_SPEC_CONFIG=$@
 	@ echo "configuration $@ written to $(kernel_BUILD_DIR)/.config"
 
 .PHONY: config
-config: config_clean toolchain
+config: config-clean toolchain
 	@ make $(kernel_BUILD_DIR) BOARD_SPEC_CONFIG=defconfig
 	@ echo "configuration defconfig written to $(kernel_BUILD_DIR)/.config"
 
-.PHONY: config_clean
-config_clean:
+.PHONY: config-clean
+config-clean:
 	@ if [ -f $(kernel_BUILD_DIR)/build.ninja ]; then \
 		rm -f $(kernel_BUILD_DIR)/build.ninja; \
 	fi
diff --git a/cmake/toolchains/arm64_compiler.cmake b/cmake/toolchains/arm64_compiler.cmake
index 83237e9..d7a194f 100755
--- a/cmake/toolchains/arm64_compiler.cmake
+++ b/cmake/toolchains/arm64_compiler.cmake
@@ -6,7 +6,7 @@
 
 set(CMAKE_SYSTEM_NAME Generic)
 
-if(${COMPILER} STREQUAL "clang+llvm")
+if("${COMPILER}" STREQUAL "clang+llvm")
 	# Find CLANG for ARM.
 	aml_find_compiler(COMPILER_CC_CLANG clang)
 	aml_find_compiler(COMPILER_CXX_CLANG clang++)