toolchain.mk: Add support for Rust toolchain for aarch{32/64}

Rather than invoking custom setup.sh script provided by OP-TEE Rust SDK,
add Rust toolchain installation support as part of toolchain Makefile.
This allows to separate OP-TEE specific Rust toolchain installation
from default Rust toolchain installation. Now all OP-TEE specific Rust
toolchains will be installed under: $(ROOT)/toolchains/rust/.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Yuan Zhuang <yuanz@apache.org>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
diff --git a/common.mk b/common.mk
index 2bec957..4d5db94 100644
--- a/common.mk
+++ b/common.mk
@@ -331,7 +331,7 @@
 endif
 
 .PHONY: buildroot
-buildroot: optee-os optee-rust
+buildroot: optee-os
 	@mkdir -p ../out-br
 	@rm -f ../out-br/build/optee_*/.stamp_*
 	@rm -f ../out-br/extra.conf
@@ -349,7 +349,7 @@
 		$(DEFCONFIG_FTPM) \
 		--br-defconfig out-br/extra.conf \
 		--make-cmd $(MAKE))
-	@$(MAKE) $(br-make-flags) -C ../out-br all
+	@source $(RUST_TOOLCHAIN_PATH)/.cargo/env && $(MAKE) $(br-make-flags) -C ../out-br all
 
 .PHONY: buildroot-clean
 buildroot-clean:
@@ -552,22 +552,6 @@
 	$(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_COMMON_FLAGS) clean
 
 ################################################################################
-# OP-TEE Rust
-################################################################################
-.PHONY: optee-rust
-optee-rust: $(OPTEE_RUST_PATH)/.done
-
-$(OPTEE_RUST_PATH)/.done:
-ifeq ($(RUST_ENABLE),y)
-	@(export OPTEE_DIR=$(ROOT) && \
-	  export CARGO_NET_GIT_FETCH_WITH_CLI=true && \
-	  cd $(OPTEE_RUST_PATH) && ./setup.sh && touch .done)
-endif
-
-optee-rust-clean:
-	rm -f $(OPTEE_RUST_PATH)/.done
-
-################################################################################
 # fTPM Rules
 ################################################################################