88default_to_workspace = false
99
1010[env ]
11- # This is needed due to uefi-sdk's use of unstable features.
12- RUSTC_BOOTSTRAP = 1
1311
12+ AARCH64_STD_WINDOWS_TARGET = " --target aarch64-pc-windows-msvc"
13+ X86_64_STD_WINDOWS_TARGET = " --target x86_64-pc-windows-msvc"
14+ AARCH64_STD_LINUX_TARGET = " --target aarch64-unknown-linux-gnu"
15+ X86_64_STD_LINUX_TARGET = " --target x86_64-unknown-linux-gnu"
1416AARCH64_UEFI_TARGET = " --target aarch64-unknown-uefi"
1517X86_64_UEFI_TARGET = " --target x86_64-unknown-uefi"
1618
@@ -22,11 +24,13 @@ CAPTURE_UEFI_SHELL_FLAGS = "${DXE_READINESS_PKG} --features uefishell --bin uefi
2224# DXE Readiness Capture UEFI binaries to run from UEFI Shell.
2325[tasks .build-x64-uefishell ]
2426description = " Builds the DXE Readiness Capture UEFI binary to run in UEFI Shell."
27+ env = { RUSTFLAGS = " -C force-unwind-tables -C link-arg=/base:0x0 -C link-arg=/subsystem:efi_application -C link-arg=/PDBALTPATH:uefishell_dxe_readiness_capture.pdb" }
2528command = " cargo"
2629args = [ " build" , " @@split(CAPTURE_UEFI_SHELL_FLAGS, )" , " @@split(X86_64_UEFI_TARGET, )" , " ${@}" , ]
2730
2831[tasks .build-aarch64-uefishell ]
2932description = " Builds the DXE Readiness Capture UEFI binary to run in UEFI Shell."
33+ env = { RUSTFLAGS = " -C force-unwind-tables -C link-arg=/base:0x0 -C link-arg=/subsystem:efi_application -C link-arg=/PDBALTPATH:uefishell_dxe_readiness_capture.pdb" }
3034command = " cargo"
3135args = [ " build" , " @@split(CAPTURE_UEFI_SHELL_FLAGS, )" , " @@split(AARCH64_UEFI_TARGET, )" , " ${@}" , ]
3236
@@ -36,47 +40,65 @@ args = [ "build", "@@split(CAPTURE_UEFI_SHELL_FLAGS, )", "@@split(AARCH64_UEFI_T
3640[tasks .build-intel-common ]
3741description = " Builds the Intel DXE Readiness Capture UEFI binary."
3842private = true
43+ env = { RUSTFLAGS = " -C force-unwind-tables -C link-arg=/base:0x0 -C link-arg=/subsystem:efi_boot_service_driver -C link-arg=/PDBALTPATH:intel_dxe_readiness_capture.pdb" }
3944command = " cargo"
4045args = [" build" , " @@split(CAPTURE_BIN_FLAGS, )" , " @@split(X86_64_UEFI_TARGET, )" , " --bin" , " intel_dxe_readiness_capture" , " ${@}" ]
4146
42- # Intel Lunar Lake capture binary.
43- [tasks .build-intel-lnl ]
44- description = " Builds the Intel DXE Readiness Capture UEFI binary for Lunar Lake."
45- dependencies = [" build-intel-common" ]
46-
47- # Intel Panther Lake capture binary.
48- [tasks .build-intel-ptl ]
49- description = " Builds the Intel DXE Readiness Capture UEFI binary for Panther Lake."
50- dependencies = [" build-intel-common" ]
51-
5247# Builds EFI binaries for virtual platform (QEMU).
5348[tasks .build-x64-uefi ]
5449description = " Builds the x64 DXE Readiness Capture UEFI binary."
50+ env = { RUSTFLAGS = " -C force-unwind-tables -C link-arg=/base:0x0 -C link-arg=/subsystem:efi_boot_service_driver -C link-arg=/PDBALTPATH:qemu_dxe_readiness_capture.pdb" }
5551command = " cargo"
5652args = [" build" , " @@split(CAPTURE_BIN_FLAGS, )" , " @@split(X86_64_UEFI_TARGET, )" , " --bin" , " qemu_dxe_readiness_capture" , " ${@}" ]
5753
5854[tasks .build-aarch64-uefi ]
5955description = " Builds the aarch64 DXE Readiness Capture UEFI binary."
56+ env = { RUSTFLAGS = " -C force-unwind-tables -C link-arg=/base:0x0 -C link-arg=/subsystem:efi_boot_service_driver -C link-arg=/PDBALTPATH:qemu_dxe_readiness_capture.pdb" }
6057command = " cargo"
6158args = [" build" , " @@split(CAPTURE_BIN_FLAGS, )" , " @@split(AARCH64_UEFI_TARGET, )" , " --bin" , " qemu_dxe_readiness_capture" , " ${@}" ]
6259
6360# Builds Validation binary for the host platform.
64- [tasks .build-validation-binary ]
65- description = " Builds the DXE Readiness Validation binary."
61+ [tasks .build-validation-binary-windows-x64 ]
62+ description = " Builds the Windows x64 DXE Readiness Validation binary."
63+ env = { RUSTFLAGS = " " } # Env variables are not cleaned up after execution, meaning that tasks following the executed task will inherit the variables set by the previous task.
64+ condition = { platforms = [" windows" ]}
65+ command = " cargo"
66+ args = [ " build" , " -p" , " dxe_readiness_validator" , " @@split(X86_64_STD_WINDOWS_TARGET, )" , " ${@}" , ]
67+
68+ [tasks .build-validation-binary-windows-aarch64 ]
69+ description = " Builds the Windows aarch64 DXE Readiness Validation binary."
70+ env = { RUSTFLAGS = " " } # Env variables are not cleaned up after execution, meaning that tasks following the executed task will inherit the variables set by the previous task.
71+ condition = { platforms = [" windows" ]}
72+ command = " cargo"
73+ args = [ " build" , " -p" , " dxe_readiness_validator" , " @@split(AARCH64_STD_WINDOWS_TARGET, )" , " ${@}" , ]
74+
75+ [tasks .build-validation-binary-linux-x64 ]
76+ description = " Builds the Linux x64 DXE Readiness Validation binary."
77+ env = { RUSTFLAGS = " " } # Env variables are not cleaned up after execution, meaning that tasks following the executed task will inherit the variables set by the previous task.
78+ condition = { platforms = [" linux" ], env = { CARGO_MAKE_RUST_TARGET_ARCH = " x86_64" }}
79+ command = " cargo"
80+ args = [ " build" , " -p" , " dxe_readiness_validator" , " @@split(X86_64_STD_LINUX_TARGET, )" , " ${@}" , ]
81+
82+ [tasks .build-validation-binary-linux-aarch64 ]
83+ description = " Builds the Linux aarch64 DXE Readiness Validation binary."
84+ env = { RUSTFLAGS = " " } # Env variables are not cleaned up after execution, meaning that tasks following the executed task will inherit the variables set by the previous task.
85+ condition = { platforms = [" linux" ], env = { CARGO_MAKE_RUST_TARGET_ARCH = " aarch64" }}
6686command = " cargo"
67- args = [ " build" , " -p" , " dxe_readiness_validator" , " ${@}" , ]
87+ args = [ " build" , " -p" , " dxe_readiness_validator" , " @@split(AARCH64_STD_LINUX_TARGET, ) " , " ${@}" , ]
6888
6989[tasks .build ]
7090description = " Build all binaries."
7191clear = true
7292dependencies = [
7393 " build-x64-uefishell" ,
7494 " build-aarch64-uefishell" ,
75- " build-intel-lnl" ,
76- " build-intel-ptl" ,
95+ " build-intel-common" , # Build Intel LNL and PTL binaries
7796 " build-x64-uefi" ,
7897 " build-aarch64-uefi" ,
79- " build-validation-binary" ,
98+ " build-validation-binary-windows-x64" ,
99+ " build-validation-binary-windows-aarch64" ,
100+ " build-validation-binary-linux-x64" ,
101+ " build-validation-binary-linux-aarch64" ,
80102]
81103
82104# Tests will be built and run based on the host platform.
@@ -90,15 +112,10 @@ description = "Build and run tests for DXE Readiness Validation binary."
90112command = " cargo"
91113args = [" test" , " -p" , " dxe_readiness_validator" , " ${@}" ]
92114
93- [tasks .test-common ]
94- description = " Build and run tests for Common lib."
95- command = " cargo"
96- args = [" test" , " -p" , " common" , " ${@}" ]
97-
98115[tasks .test ]
99116description = " Build and run tests for all binaries."
100117clear = true
101- dependencies = [" test-capture-binary" , " test-validation-binary" , " test-common " ]
118+ dependencies = [" test-capture-binary" , " test-validation-binary" ]
102119
103120# Run validator binary for all supported targets.
104121[tasks .run-validator ]
0 commit comments