fvp: Build and use an UEFI boot image

We are switching from using the old semihosting based way of loading and
running OP-TEE, kernel, root fs etc on FVP to instead use a proper boot
image similar to how it is working on real devices. A difference here
compared to the past is that we are using Grub here to load the kernel.

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Joakim Bech <joakim.bech@linaro.org> (FVP)
Reviewed-by: Victor Chong <victor.chong@linaro.org>
diff --git a/common.mk b/common.mk
index 15116ca..12bf1a3 100644
--- a/common.mk
+++ b/common.mk
@@ -207,27 +207,21 @@
 ################################################################################
 # EDK2 / Tianocore
 ################################################################################
-# Make sure edksetup.sh only will be called once and that we don't rebuild
-# BaseTools again and again.
-$(EDK2_PATH)/Conf/target.txt:
-	set -e && cd $(EDK2_PATH) && source edksetup.sh && \
-	$(MAKE) -j1 -C $(EDK2_PATH)/BaseTools
-
 .PHONY: edk2-common
-edk2-common: $(EDK2_PATH)/Conf/target.txt
-	set -e && cd $(EDK2_PATH) && source edksetup.sh && \
-	$(call edk2-call)
+edk2-common:
+	export WORKSPACE=$(ROOT) && \
+	export PACKAGES_PATH=$(EDK2_PATH):$(ROOT)/edk2-platforms && \
+	source $(EDK2_PATH)/edksetup.sh && \
+	$(MAKE) -j1 -C $(EDK2_PATH)/BaseTools && \
+	$(call edk2-call) all
 
 .PHONY: edk2-clean-common
 edk2-clean-common:
-	set -e && cd $(EDK2_PATH) && source edksetup.sh && \
-	$(call edk2-call) clean && \
-	$(MAKE) -j1 -C $(EDK2_PATH)/BaseTools clean
-	rm -rf $(EDK2_PATH)/Build
-	rm -rf $(EDK2_PATH)/Conf/.cache
-	rm -f $(EDK2_PATH)/Conf/build_rule.txt
-	rm -f $(EDK2_PATH)/Conf/target.txt
-	rm -f $(EDK2_PATH)/Conf/tools_def.txt
+	export WORKSPACE=$(ROOT) && \
+	export PACKAGES_PATH=$(EDK2_PATH):$(ROOT)/edk2-platforms && \
+	source $(EDK2_PATH)/edksetup.sh && \
+	$(MAKE) -j1 -C $(EDK2_PATH)/BaseTools clean && \
+	$(call edk2-call) cleanall
 
 ################################################################################
 # QEMU / QEMUv8