payloads/tianocore: Init submodules

Recent changes to upstream edk2 necessitate ensuring
that Tianocore's submodules exist and are up to date,
otherwise building UefiPayloadPkg will fail.

Change method used to detect a dirty tree so that initialized
submodules do not taint the result.

Test: build qemu with Tianocore UefiPayloadPkg option successfully.

Change-Id: Ie2541f048966ec0666d8196508ccdb6c5f089de6
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40590
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile
index 58eb458..46bc2bd 100644
--- a/payloads/external/tianocore/Makefile
+++ b/payloads/external/tianocore/Makefile
@@ -70,12 +70,13 @@
 			echo "    $(TAG) is not a valid git reference"; \
 			exit 1; \
 		fi; \
-		if git describe --all --dirty | grep -qv dirty; then \
+		if git status --ignore-submodules=dirty | grep -qv clean; then \
 			echo "    Checking out $(project_name) revision $(TAG)"; \
 			git checkout --detach $(TAG); \
 		else \
 			echo "    Working directory not clean; will not overwrite"; \
-		fi
+		fi; \
+		git submodule update --init --recursive
 
 checktools:
 	echo "Checking uuid-dev..."