This is an automated email from the ASF dual-hosted git repository.

yuanz pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-teaclave-trustzone-sdk.git

commit 10271e50d5bb39fe8fc0038ef9d21b9b63d94355
Author: Yuan Zhuang <[email protected]>
AuthorDate: Fri Oct 18 04:00:45 2024 +0000

    examples: unify Makefile
    
    Host and TA read `TARGET` and `CROSS_COMPILE` from the top level
    Makefile of the example. That meets the env need of building inner
    C libraries such as ring for TA.
    Run `make -C examples/xxxx ta` will build TA independently.
---
 examples/acipher-rs/Makefile                        | 16 +++++++++++-----
 examples/acipher-rs/host/Makefile                   | 12 ++++++------
 examples/acipher-rs/ta/Makefile                     | 12 ++++++------
 examples/aes-rs/Makefile                            | 16 +++++++++++-----
 examples/aes-rs/host/Makefile                       | 10 +++++-----
 examples/aes-rs/ta/Makefile                         | 13 ++++++-------
 examples/authentication-rs/Makefile                 | 16 +++++++++++-----
 examples/authentication-rs/host/Makefile            | 10 +++++-----
 examples/authentication-rs/ta/Makefile              | 13 ++++++-------
 examples/big_int-rs/Makefile                        | 16 +++++++++++-----
 examples/big_int-rs/host/Makefile                   | 10 +++++-----
 examples/big_int-rs/ta/Makefile                     | 13 ++++++-------
 examples/diffie_hellman-rs/Makefile                 | 16 +++++++++++-----
 examples/diffie_hellman-rs/host/Makefile            | 10 +++++-----
 examples/diffie_hellman-rs/ta/Makefile              | 12 ++++++------
 examples/digest-rs/Makefile                         | 16 +++++++++++-----
 examples/digest-rs/host/Makefile                    | 10 +++++-----
 examples/digest-rs/ta/Makefile                      | 12 ++++++------
 examples/error_handling-rs/Makefile                 | 16 +++++++++++-----
 examples/error_handling-rs/host/Makefile            | 10 +++++-----
 examples/error_handling-rs/ta/Makefile              | 13 ++++++-------
 examples/hello_world-rs/Makefile                    | 16 +++++++++++-----
 examples/hello_world-rs/host/Makefile               | 10 +++++-----
 examples/hello_world-rs/ta/Makefile                 | 12 ++++++------
 examples/hotp-rs/Makefile                           | 16 +++++++++++-----
 examples/hotp-rs/host/Makefile                      | 10 +++++-----
 examples/hotp-rs/ta/Makefile                        | 12 ++++++------
 examples/message_passing_interface-rs/Makefile      | 16 +++++++++++-----
 examples/message_passing_interface-rs/host/Makefile | 16 ++++++++++------
 examples/message_passing_interface-rs/ta/Makefile   | 14 +++++++-------
 examples/random-rs/Makefile                         | 16 +++++++++++-----
 examples/random-rs/host/Makefile                    | 10 +++++-----
 examples/random-rs/ta/Makefile                      | 12 ++++++------
 examples/secure_storage-rs/Makefile                 | 16 +++++++++++-----
 examples/secure_storage-rs/host/Makefile            | 10 +++++-----
 examples/secure_storage-rs/ta/Makefile              | 12 ++++++------
 examples/serde-rs/Makefile                          | 16 +++++++++++-----
 examples/serde-rs/host/Makefile                     | 16 ++++++++++------
 examples/serde-rs/ta/Makefile                       | 14 +++++++-------
 examples/serde-rs/ta/src/main.rs                    |  2 --
 examples/signature_verification-rs/Makefile         | 16 +++++++++++-----
 examples/signature_verification-rs/host/Makefile    | 10 +++++-----
 examples/signature_verification-rs/ta/Makefile      | 13 ++++++-------
 examples/supp_plugin-rs/Makefile                    | 14 +++++++++++---
 examples/supp_plugin-rs/host/Makefile               | 10 +++++-----
 examples/supp_plugin-rs/ta/Makefile                 | 12 ++++++------
 examples/tcp_client-rs/Makefile                     | 16 +++++++++++-----
 examples/tcp_client-rs/host/Makefile                | 16 ++++++++++------
 examples/tcp_client-rs/ta/Makefile                  | 14 +++++++-------
 examples/time-rs/Makefile                           | 16 +++++++++++-----
 examples/time-rs/host/Makefile                      | 10 +++++-----
 examples/time-rs/ta/Makefile                        | 12 ++++++------
 examples/tls_client-rs/Makefile                     | 16 +++++++++++-----
 examples/tls_client-rs/host/Makefile                | 16 ++++++++++------
 examples/tls_client-rs/ta/Makefile                  | 15 +++++++--------
 examples/tls_server-rs/Makefile                     | 16 +++++++++++-----
 examples/tls_server-rs/host/Makefile                | 16 ++++++++++------
 examples/tls_server-rs/ta/Makefile                  | 15 +++++++--------
 examples/udp_socket-rs/Makefile                     | 16 +++++++++++-----
 examples/udp_socket-rs/host/Makefile                | 16 ++++++++++------
 examples/udp_socket-rs/ta/Makefile                  | 14 +++++++-------
 61 files changed, 477 insertions(+), 340 deletions(-)

diff --git a/examples/acipher-rs/Makefile b/examples/acipher-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/acipher-rs/Makefile
+++ b/examples/acipher-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/acipher-rs/host/Makefile 
b/examples/acipher-rs/host/Makefile
index 5c47225..6216692 100644
--- a/examples/acipher-rs/host/Makefile
+++ b/examples/acipher-rs/host/Makefile
@@ -17,18 +17,18 @@
 
 NAME := acipher-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
 
 host:
-       @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
+       @cargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: host
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/$(NAME) $(OUT_DIR)/$(NAME)
diff --git a/examples/acipher-rs/ta/Makefile b/examples/acipher-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/acipher-rs/ta/Makefile
+++ b/examples/acipher-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/aes-rs/Makefile b/examples/aes-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/aes-rs/Makefile
+++ b/examples/aes-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/aes-rs/host/Makefile b/examples/aes-rs/host/Makefile
index 2d69124..e1a29ce 100644
--- a/examples/aes-rs/host/Makefile
+++ b/examples/aes-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := aes-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/aes-rs/ta/Makefile b/examples/aes-rs/ta/Makefile
index 78ed7c8..72a9cb3 100644
--- a/examples/aes-rs/ta/Makefile
+++ b/examples/aes-rs/ta/Makefile
@@ -17,22 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/authentication-rs/Makefile 
b/examples/authentication-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/authentication-rs/Makefile
+++ b/examples/authentication-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/authentication-rs/host/Makefile 
b/examples/authentication-rs/host/Makefile
index ba4e9da..635c835 100644
--- a/examples/authentication-rs/host/Makefile
+++ b/examples/authentication-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := authentication-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/authentication-rs/ta/Makefile 
b/examples/authentication-rs/ta/Makefile
index 78ed7c8..72a9cb3 100644
--- a/examples/authentication-rs/ta/Makefile
+++ b/examples/authentication-rs/ta/Makefile
@@ -17,22 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/big_int-rs/Makefile b/examples/big_int-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/big_int-rs/Makefile
+++ b/examples/big_int-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/big_int-rs/host/Makefile 
b/examples/big_int-rs/host/Makefile
index 8b29964..0e19853 100644
--- a/examples/big_int-rs/host/Makefile
+++ b/examples/big_int-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := big_int-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/big_int-rs/ta/Makefile b/examples/big_int-rs/ta/Makefile
index 78ed7c8..72a9cb3 100644
--- a/examples/big_int-rs/ta/Makefile
+++ b/examples/big_int-rs/ta/Makefile
@@ -17,22 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/diffie_hellman-rs/Makefile 
b/examples/diffie_hellman-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/diffie_hellman-rs/Makefile
+++ b/examples/diffie_hellman-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/diffie_hellman-rs/host/Makefile 
b/examples/diffie_hellman-rs/host/Makefile
index 54b7c39..04cc3da 100644
--- a/examples/diffie_hellman-rs/host/Makefile
+++ b/examples/diffie_hellman-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := diffie_hellman-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/diffie_hellman-rs/ta/Makefile 
b/examples/diffie_hellman-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/diffie_hellman-rs/ta/Makefile
+++ b/examples/diffie_hellman-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/digest-rs/Makefile b/examples/digest-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/digest-rs/Makefile
+++ b/examples/digest-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/digest-rs/host/Makefile b/examples/digest-rs/host/Makefile
index 2133e3c..6a12c21 100644
--- a/examples/digest-rs/host/Makefile
+++ b/examples/digest-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := digest-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/digest-rs/ta/Makefile b/examples/digest-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/digest-rs/ta/Makefile
+++ b/examples/digest-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/error_handling-rs/Makefile 
b/examples/error_handling-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/error_handling-rs/Makefile
+++ b/examples/error_handling-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/error_handling-rs/host/Makefile 
b/examples/error_handling-rs/host/Makefile
index 0a24cda..659d6fa 100644
--- a/examples/error_handling-rs/host/Makefile
+++ b/examples/error_handling-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := error_handling-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/error_handling-rs/ta/Makefile 
b/examples/error_handling-rs/ta/Makefile
index 78ed7c8..72a9cb3 100644
--- a/examples/error_handling-rs/ta/Makefile
+++ b/examples/error_handling-rs/ta/Makefile
@@ -17,22 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/hello_world-rs/Makefile b/examples/hello_world-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/hello_world-rs/Makefile
+++ b/examples/hello_world-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/hello_world-rs/host/Makefile 
b/examples/hello_world-rs/host/Makefile
index 1579bb7..039051f 100644
--- a/examples/hello_world-rs/host/Makefile
+++ b/examples/hello_world-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := hello_world-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/hello_world-rs/ta/Makefile 
b/examples/hello_world-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/hello_world-rs/ta/Makefile
+++ b/examples/hello_world-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/hotp-rs/Makefile b/examples/hotp-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/hotp-rs/Makefile
+++ b/examples/hotp-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/hotp-rs/host/Makefile b/examples/hotp-rs/host/Makefile
index 5c38d4d..8d5a36f 100644
--- a/examples/hotp-rs/host/Makefile
+++ b/examples/hotp-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := hotp-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/hotp-rs/ta/Makefile b/examples/hotp-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/hotp-rs/ta/Makefile
+++ b/examples/hotp-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/message_passing_interface-rs/Makefile 
b/examples/message_passing_interface-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/message_passing_interface-rs/Makefile
+++ b/examples/message_passing_interface-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/message_passing_interface-rs/host/Makefile 
b/examples/message_passing_interface-rs/host/Makefile
index 94617ea..ec92d9e 100644
--- a/examples/message_passing_interface-rs/host/Makefile
+++ b/examples/message_passing_interface-rs/host/Makefile
@@ -17,15 +17,19 @@
 
 NAME := message_passing_interface-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
-
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
+ifeq ($(STD),)
+all:
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
+else
 all: host strip
+endif
 
 host:
        @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
diff --git a/examples/message_passing_interface-rs/ta/Makefile 
b/examples/message_passing_interface-rs/ta/Makefile
index 17d6e73..31c232f 100644
--- a/examples/message_passing_interface-rs/ta/Makefile
+++ b/examples/message_passing_interface-rs/ta/Makefile
@@ -19,24 +19,24 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 ifeq ($(STD),)
 all:
-       @echo "Please export STD=y to build the STD version"
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
 else
 all: ta strip sign
 endif
 
 ta:
-       @xargo build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @xargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/random-rs/Makefile b/examples/random-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/random-rs/Makefile
+++ b/examples/random-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/random-rs/host/Makefile b/examples/random-rs/host/Makefile
index 50176bb..5608917 100644
--- a/examples/random-rs/host/Makefile
+++ b/examples/random-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := random-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/random-rs/ta/Makefile b/examples/random-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/random-rs/ta/Makefile
+++ b/examples/random-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/secure_storage-rs/Makefile 
b/examples/secure_storage-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/secure_storage-rs/Makefile
+++ b/examples/secure_storage-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/secure_storage-rs/host/Makefile 
b/examples/secure_storage-rs/host/Makefile
index 40dadad..4c28455 100644
--- a/examples/secure_storage-rs/host/Makefile
+++ b/examples/secure_storage-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := secure_storage-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/secure_storage-rs/ta/Makefile 
b/examples/secure_storage-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/secure_storage-rs/ta/Makefile
+++ b/examples/secure_storage-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/serde-rs/Makefile b/examples/serde-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/serde-rs/Makefile
+++ b/examples/serde-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/serde-rs/host/Makefile b/examples/serde-rs/host/Makefile
index 046200c..6c5bf8f 100644
--- a/examples/serde-rs/host/Makefile
+++ b/examples/serde-rs/host/Makefile
@@ -17,15 +17,19 @@
 
 NAME := serde-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
-
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
+ifeq ($(STD),)
+all:
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
+else
 all: host strip
+endif
 
 host:
        @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
diff --git a/examples/serde-rs/ta/Makefile b/examples/serde-rs/ta/Makefile
index 17d6e73..31c232f 100644
--- a/examples/serde-rs/ta/Makefile
+++ b/examples/serde-rs/ta/Makefile
@@ -19,24 +19,24 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 ifeq ($(STD),)
 all:
-       @echo "Please export STD=y to build the STD version"
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
 else
 all: ta strip sign
 endif
 
 ta:
-       @xargo build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @xargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/serde-rs/ta/src/main.rs b/examples/serde-rs/ta/src/main.rs
index 7f239c0..19ed02e 100644
--- a/examples/serde-rs/ta/src/main.rs
+++ b/examples/serde-rs/ta/src/main.rs
@@ -16,8 +16,6 @@
 // under the License.
 
 #![no_main]
-// this is the workaround for the error:
-// error[E0658]: use of unstable library feature 'c_size_t'
 
 use optee_utee::{
     ta_close_session, ta_create, ta_destroy, ta_invoke_command, 
ta_open_session, trace_println,
diff --git a/examples/signature_verification-rs/Makefile 
b/examples/signature_verification-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/signature_verification-rs/Makefile
+++ b/examples/signature_verification-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/signature_verification-rs/host/Makefile 
b/examples/signature_verification-rs/host/Makefile
index ef5203c..60bf00a 100644
--- a/examples/signature_verification-rs/host/Makefile
+++ b/examples/signature_verification-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := signature_verification-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/signature_verification-rs/ta/Makefile 
b/examples/signature_verification-rs/ta/Makefile
index 78ed7c8..72a9cb3 100644
--- a/examples/signature_verification-rs/ta/Makefile
+++ b/examples/signature_verification-rs/ta/Makefile
@@ -17,22 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/supp_plugin-rs/Makefile b/examples/supp_plugin-rs/Makefile
index d63d08e..d18a9e9 100644
--- a/examples/supp_plugin-rs/Makefile
+++ b/examples/supp_plugin-rs/Makefile
@@ -22,14 +22,22 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
+.PHONY: host ta plugin all clean
+
+all: host ta plugin
+
+host:
        $(q)make -C host TARGET=$(TARGET_HOST) \
                CROSS_COMPILE=$(CROSS_COMPILE_HOST)
-       $(q)make -C plugin TARGET=$(TARGET_HOST) \
-               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
        $(q)make -C ta TARGET=$(TARGET_TA) \
                CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
+plugin:
+       $(q)make -C plugin TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
 clean:
        $(q)make -C host clean
        $(q)make -C plugin clean
diff --git a/examples/supp_plugin-rs/host/Makefile 
b/examples/supp_plugin-rs/host/Makefile
index 7043659..2cbf3b1 100644
--- a/examples/supp_plugin-rs/host/Makefile
+++ b/examples/supp_plugin-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := supp_plugin-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/supp_plugin-rs/ta/Makefile 
b/examples/supp_plugin-rs/ta/Makefile
index b006c00..640450d 100644
--- a/examples/supp_plugin-rs/ta/Makefile
+++ b/examples/supp_plugin-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../ta_uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/tcp_client-rs/Makefile b/examples/tcp_client-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/tcp_client-rs/Makefile
+++ b/examples/tcp_client-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/tcp_client-rs/host/Makefile 
b/examples/tcp_client-rs/host/Makefile
index 392aa90..5a6cc16 100644
--- a/examples/tcp_client-rs/host/Makefile
+++ b/examples/tcp_client-rs/host/Makefile
@@ -17,15 +17,19 @@
 
 NAME := tcp_client-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
-
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
+ifeq ($(STD),)
+all:
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
+else
 all: host strip
+endif
 
 host:
        @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
diff --git a/examples/tcp_client-rs/ta/Makefile 
b/examples/tcp_client-rs/ta/Makefile
index 17d6e73..31c232f 100644
--- a/examples/tcp_client-rs/ta/Makefile
+++ b/examples/tcp_client-rs/ta/Makefile
@@ -19,24 +19,24 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 ifeq ($(STD),)
 all:
-       @echo "Please export STD=y to build the STD version"
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
 else
 all: ta strip sign
 endif
 
 ta:
-       @xargo build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @xargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/time-rs/Makefile b/examples/time-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/time-rs/Makefile
+++ b/examples/time-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/time-rs/host/Makefile b/examples/time-rs/host/Makefile
index 1b91df8..d0ccff2 100644
--- a/examples/time-rs/host/Makefile
+++ b/examples/time-rs/host/Makefile
@@ -17,12 +17,12 @@
 
 NAME := time-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 
 all: host strip
diff --git a/examples/time-rs/ta/Makefile b/examples/time-rs/ta/Makefile
index 5dab9d4..72a9cb3 100644
--- a/examples/time-rs/ta/Makefile
+++ b/examples/time-rs/ta/Makefile
@@ -17,21 +17,21 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 BUILDER = $(if $(STD),xargo,cargo)
 
 all: ta strip sign
 
 ta:
-       @$(BUILDER) build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @$(BUILDER) build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/tls_client-rs/Makefile b/examples/tls_client-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/tls_client-rs/Makefile
+++ b/examples/tls_client-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/tls_client-rs/host/Makefile 
b/examples/tls_client-rs/host/Makefile
index 7920865..7743e0e 100644
--- a/examples/tls_client-rs/host/Makefile
+++ b/examples/tls_client-rs/host/Makefile
@@ -17,15 +17,19 @@
 
 NAME := tls_client-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
-
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
+ifeq ($(STD),)
+all:
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
+else
 all: host strip
+endif
 
 host:
        @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
diff --git a/examples/tls_client-rs/ta/Makefile 
b/examples/tls_client-rs/ta/Makefile
index 74aeb33..31c232f 100644
--- a/examples/tls_client-rs/ta/Makefile
+++ b/examples/tls_client-rs/ta/Makefile
@@ -19,25 +19,24 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 ifeq ($(STD),)
 all:
-       @echo "Please export STD=y to build the STD version"
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
 else
 all: ta strip sign
 endif
 
-# set the cross compile for building inner libraries, such as C libraries in 
ring
 ta:
-       @CROSS_COMPILE=$(CROSS_COMPILE_TA) xargo build --target $(TARGET_TA) 
--release --config $(LINKER_CFG)
+       @xargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/tls_server-rs/Makefile b/examples/tls_server-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/tls_server-rs/Makefile
+++ b/examples/tls_server-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/tls_server-rs/host/Makefile 
b/examples/tls_server-rs/host/Makefile
index 92dac4b..4950a9f 100644
--- a/examples/tls_server-rs/host/Makefile
+++ b/examples/tls_server-rs/host/Makefile
@@ -17,15 +17,19 @@
 
 NAME := tls_server-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
-
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
+ifeq ($(STD),)
+all:
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
+else
 all: host strip
+endif
 
 host:
        @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
diff --git a/examples/tls_server-rs/ta/Makefile 
b/examples/tls_server-rs/ta/Makefile
index 74aeb33..31c232f 100644
--- a/examples/tls_server-rs/ta/Makefile
+++ b/examples/tls_server-rs/ta/Makefile
@@ -19,25 +19,24 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 ifeq ($(STD),)
 all:
-       @echo "Please export STD=y to build the STD version"
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
 else
 all: ta strip sign
 endif
 
-# set the cross compile for building inner libraries, such as C libraries in 
ring
 ta:
-       @CROSS_COMPILE=$(CROSS_COMPILE_TA) xargo build --target $(TARGET_TA) 
--release --config $(LINKER_CFG)
+       @xargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta
diff --git a/examples/udp_socket-rs/Makefile b/examples/udp_socket-rs/Makefile
index c266055..a7a3dec 100644
--- a/examples/udp_socket-rs/Makefile
+++ b/examples/udp_socket-rs/Makefile
@@ -22,11 +22,17 @@ CROSS_COMPILE_TA ?= aarch64-linux-gnu-
 TARGET_HOST ?= aarch64-unknown-linux-gnu
 TARGET_TA ?= aarch64-unknown-linux-gnu
 
-all:
-       $(q)make -C host TARGET_HOST=$(TARGET_HOST) \
-               CROSS_COMPILE_HOST=$(CROSS_COMPILE_HOST)
-       $(q)make -C ta TARGET_TA=$(TARGET_TA) \
-               CROSS_COMPILE_TA=$(CROSS_COMPILE_TA)
+.PHONY: host ta all clean
+
+all: host ta
+
+host:
+       $(q)make -C host TARGET=$(TARGET_HOST) \
+               CROSS_COMPILE=$(CROSS_COMPILE_HOST)
+
+ta:
+       $(q)make -C ta TARGET=$(TARGET_TA) \
+               CROSS_COMPILE=$(CROSS_COMPILE_TA)
 
 clean:
        $(q)make -C host clean
diff --git a/examples/udp_socket-rs/host/Makefile 
b/examples/udp_socket-rs/host/Makefile
index 145a5ce..17f93c3 100644
--- a/examples/udp_socket-rs/host/Makefile
+++ b/examples/udp_socket-rs/host/Makefile
@@ -17,15 +17,19 @@
 
 NAME := udp_socket-rs
 
-TARGET_HOST ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_HOST ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_HOST)objcopy
-LINKER_CFG := target.$(TARGET_HOST).linker=\"$(CROSS_COMPILE_HOST)gcc\"
-
-OUT_DIR := $(CURDIR)/target/$(TARGET_HOST)/release
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)gcc\"
 
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
+ifeq ($(STD),)
+all:
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
+else
 all: host strip
+endif
 
 host:
        @cargo build --target $(TARGET_HOST) --release --config $(LINKER_CFG)
diff --git a/examples/udp_socket-rs/ta/Makefile 
b/examples/udp_socket-rs/ta/Makefile
index 17d6e73..31c232f 100644
--- a/examples/udp_socket-rs/ta/Makefile
+++ b/examples/udp_socket-rs/ta/Makefile
@@ -19,24 +19,24 @@
 
 UUID ?= $(shell cat "../uuid.txt")
 
-TARGET_TA ?= aarch64-unknown-linux-gnu
-CROSS_COMPILE_TA ?= aarch64-linux-gnu-
-OBJCOPY := $(CROSS_COMPILE_TA)objcopy
-LINKER_CFG := target.$(TARGET_TA).linker=\"$(CROSS_COMPILE_TA)ld.bfd\"
+TARGET ?= aarch64-unknown-linux-gnu
+CROSS_COMPILE ?= aarch64-linux-gnu-
+OBJCOPY := $(CROSS_COMPILE)objcopy
+LINKER_CFG := target.$(TARGET).linker=\"$(CROSS_COMPILE)ld.bfd\"
 
 TA_SIGN_KEY ?= $(TA_DEV_KIT_DIR)/keys/default_ta.pem
 SIGN := $(TA_DEV_KIT_DIR)/scripts/sign_encrypt.py
-OUT_DIR := $(CURDIR)/target/$(TARGET_TA)/release
+OUT_DIR := $(CURDIR)/target/$(TARGET)/release
 
 ifeq ($(STD),)
 all:
-       @echo "Please export STD=y to build the STD version"
+       @echo "Please `export STD=y` then rerun `source environment` to build 
the STD version"
 else
 all: ta strip sign
 endif
 
 ta:
-       @xargo build --target $(TARGET_TA) --release --config $(LINKER_CFG)
+       @xargo build --target $(TARGET) --release --config $(LINKER_CFG)
 
 strip: ta
        @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/ta $(OUT_DIR)/stripped_ta


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to