- Timestamp:
- Apr 20, 2023 7:31:21 AM (18 months ago)
- File:
-
- 1 edited
-
trunk/src/VBox/Devices/EFI/Firmware/Makefile.kmk (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware/Makefile.kmk
r99404 r99476 124 124 $(VBoxEfiFirmware_0_OUTDIR)/amd64/Conf/tools_def.txt 125 125 126 ifdef VBOX_WITH_VIRT_ARMV8 127 VBoxEfiFirmware_SOURCES += \ 128 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd=>VBoxEFIAArch32.fd \ 129 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd=>VBoxEFIAArch64.fd 130 VBoxEfiFirmware_BLDDIRS += \ 131 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/ \ 132 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/ \ 133 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/ \ 134 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/ 135 VBoxEfiFirmware_CLEAN += \ 136 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/target.txt \ 137 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/build_rule.txt \ 138 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/tools_def.txt \ 139 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/target.txt \ 140 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/build_rule.txt \ 141 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/tools_def.txt 142 endif 143 126 144 # Install the debug info. 127 145 INSTALLS += VBoxEfiFirmwareDbg32 … … 147 165 endif 148 166 167 ifdef VBOX_WITH_VIRT_ARMV8 168 INSTALLS += VBoxEfiFirmwareDbgAarch32 169 VBoxEfiFirmwareDbgAarch32_INST = $(INST_VBOXDBG_SYMS)aarch32/ 170 VBoxEfiFirmwareDbgAarch32_MODE = 0644 171 if1of ($(KBUILD_HOST), win) 172 VBoxEfiFirmwareDbgAarch32_SOURCES = \ 173 $(foreach mod,$(VBOX_EFI_MODULES),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).pdb) 174 else 175 VBoxEfiFirmwareDbgAarch32_SOURCES = \ 176 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).debug) 177 endif 178 179 INSTALLS += VBoxEfiFirmwareDbgAarch64 180 VBoxEfiFirmwareDbgAarch64_INST = $(INST_VBOXDBG_SYMS)aarch64/ 181 VBoxEfiFirmwareDbgAarch64_MODE = 0644 182 if1of ($(KBUILD_HOST), win) 183 VBoxEfiFirmwareDbgAarch64_SOURCES = \ 184 $(foreach mod,$(VBOX_EFI_MODULES),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).pdb) 185 else 186 VBoxEfiFirmwareDbgAarch64_SOURCES = \ 187 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).debug) 188 endif 189 endif 190 149 191 150 192 # … … 155 197 $(if $(VBoxEfiFirmware_0_OUTDIR),,exit 1) 156 198 $(RM) -Rf -- "$(VBoxEfiFirmware_0_OUTDIR)/amd64/" "$(VBoxEfiFirmware_0_OUTDIR)/x86/" 199 $(if $(VBOX_WITH_VIRT_ARMV8),$(RM) -Rf -- "$(VBoxEfiFirmware_0_OUTDIR)/aarch64/" "$(VBoxEfiFirmware_0_OUTDIR)/aarch32/",) 157 200 .PHONY: VBoxEfiFirmwareCleanup 158 201 … … 173 216 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),amd64/$(mod)$(VBOX_EFI_DBG_SUFF)) \ 174 217 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),x86/$(mod)$(VBOX_EFI_DBG_SUFF)) 218 219 ifdef VBOX_WITH_VIRT_ARMV8 220 VBoxEfiFirmware-armv8.zip: $(PATH_STAGE)/VBoxEfiFirmware-armv8.zip 221 $(PATH_STAGE)/VBoxEfiFirmware-armv8.zip: 222 $(REDIRECT) -C "$(PATH_STAGE_BIN)" -- $(TOOL_ZIP_PACK) $(TOOL_ZIP_PACKFLAGS) -9X $@ \ 223 VBoxEFIAArch32.fd \ 224 VBoxEFIAArch64.fd 225 $(REDIRECT) -C "$(PATH_STAGE)/$(INST_VBOXDBG_SYMS)" -- $(TOOL_ZIP_PACK) $(TOOL_ZIP_PACKFLAGS) -9X $@ \ 226 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),aarch64/$(mod)$(VBOX_EFI_DBG_SUFF)) \ 227 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),aarch32/$(mod)$(VBOX_EFI_DBG_SUFF)) 228 endif 175 229 176 230 # … … 236 290 -D "VBOX_PATH_ROOT=$(PATH_ROOT)" \ 237 291 -D "FD_SIZE_4MB=1" \ 292 -D "FD_SIZE_IN_MB=3" \ 238 293 $(if $(VBOX_OSE),-D "VBOX_OSE=1") \ 239 294 $(if-expr "$(KBUILD_VERBOSE)" != "",$(if-expr "$(KBUILD_VERBOSE)" >= 3,-v,),--silent --quiet) \ … … 264 319 endif 265 320 endif 321 322 # 323 # @todo This is temporary and shoud be changed to use proper tools depending 324 # on the build environment 325 ifdef VBOX_WITH_VIRT_ARMV8 326 ifeq ($(KBUILD_HOST),darwin) 327 VBOX_PATH_PREFIX_GCC_AARCH64 ?= aarch64-elf- 328 VBOX_PATH_PREFIX_GCC_ARM ?= arm-none-eabi- 329 else 330 VBOX_PATH_PREFIX_GCC_AARCH64 ?= 331 VBOX_PATH_PREFIX_GCC_ARM ?= 332 endif 333 else 334 VBOX_PATH_PREFIX_GCC_AARCH64 ?= 335 VBOX_PATH_PREFIX_GCC_ARM ?= 336 endif 337 266 338 $(VBoxEfiFirmware_0_OUTDIR)/x86/Conf/tools_def.txt \ 267 $(VBoxEfiFirmware_0_OUTDIR)/amd64/Conf/tools_def.txt: \ 339 $(VBoxEfiFirmware_0_OUTDIR)/amd64/Conf/tools_def.txt \ 340 $(if $(VBOX_WITH_VIRT_ARMV8),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/tools_def.txt) \ 341 $(if $(VBOX_WITH_VIRT_ARMV8),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/tools_def.txt): \ 268 342 $(VBOX_PATH_EFI_FIRMWARE)/vbox-tools_def.txt \ 269 343 $(MAKEFILE) | $$(dir $$@) … … 277 351 -e 's,@VBOX_PATH_PREFIX_GCC32@,$(PATH_TOOL_$(VBOX_GCC_TOOL)),' \ 278 352 -e 's,@VBOX_PATH_PREFIX_GCC64@,$(PATH_TOOL_$(VBOX_GCC_TOOL)),' \ 353 -e 's,@VBOX_PATH_PREFIX_GCC_AARCH64@,$(VBOX_PATH_PREFIX_GCC_AARCH64),' \ 354 -e 's,@VBOX_PATH_PREFIX_GCC_ARM@,$(VBOX_PATH_PREFIX_GCC_ARM),' \ 279 355 \ 280 356 -e 's,@PATH_VS2010@,$(PATH_TOOL_$(VBOX_VCC_TOOL)),' \ … … 290 366 291 367 $(VBoxEfiFirmware_0_OUTDIR)/x86/Conf/build_rule.txt \ 292 $(VBoxEfiFirmware_0_OUTDIR)/amd64/Conf/build_rule.txt: \ 368 $(VBoxEfiFirmware_0_OUTDIR)/amd64/Conf/build_rule.txt \ 369 $(if $(VBOX_WITH_VIRT_ARMV8),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/build_rule.txt) \ 370 $(if $(VBOX_WITH_VIRT_ARMV8),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/build_rule.txt): \ 293 371 $(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Conf/build_rule.template \ 294 372 $(MAKEFILE) | $$(dir $$@) … … 359 437 --platform OvmfPkg/OvmfPkgX64.dsc 360 438 439 ifdef VBOX_WITH_VIRT_ARMV8 440 # 441 # VBoxEFIAArch32 442 # 443 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/target.txt: $(MAKEFILE) | $$(dir $$@) $(VBOX_EFI_BLDPROGS) 444 $(APPEND) -tn "$@" \ 445 "# Automatically generated, do not edit" \ 446 "" \ 447 "# These variables cannot be overriden by the build.py command line." \ 448 "TOOL_CHAIN_CONF = $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/tools_def.txt" \ 449 "BUILD_RULE_CONF = $(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Conf/build_rule.template" \ 450 "" \ 451 "# These variables are overridden and this is just for show." \ 452 "ACTIVE_PLATFORM = ArmVirtPkg/ArmVirtQemu.dsc" \ 453 "TARGET = $(VBOX_EFI_BUILD_TARGET)" \ 454 "TARGET_ARCH = ARM" \ 455 "TOOL_CHAIN_TAG = $(VBOX_EFI_TOOL_CHAIN)" \ 456 "MAX_CONCURRENT_THREAD_NUMBER = $(VBOX_EFI_MAX_THREADS)" 457 458 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd \ 459 + $(VBoxEfiFirmwareDbgAarch32_SOURCES): \ 460 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/target.txt \ 461 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/tools_def.txt \ 462 $(VBoxEfiFirmware_0_OUTDIR)/aarch32/Conf/build_rule.txt \ 463 $(VBOX_EFI_DEPENDENCIES) \ 464 $(VBOX_PATH_EFI_FIRMWARE)/ArmVirtPkg/ArmVirtQemu.dsc \ 465 $(VBOX_PATH_EFI_FIRMWARE)/ArmVirtPkg/ArmVirtQemu.fdf 466 + $(VBOX_EFI_BUILD_CMD) \ 467 --arch ARM \ 468 --platform ArmVirtPkg/ArmVirtQemu.dsc 469 470 # 471 # VBoxEFIAArch64 472 # 473 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/target.txt: $(MAKEFILE) | $$(dir $$@) $(VBOX_EFI_BLDPROGS) 474 $(APPEND) -tn "$@" \ 475 "# Automatically generated, do not edit" \ 476 "" \ 477 "# These variables cannot be overriden by the build.py command line." \ 478 "TOOL_CHAIN_CONF = $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/tools_def.txt" \ 479 "BUILD_RULE_CONF = $(VBOX_PATH_EFI_FIRMWARE)/BaseTools/Conf/build_rule.template" \ 480 "" \ 481 "# These variables are overridden and this is just for show." \ 482 "ACTIVE_PLATFORM = ArmVirtPkg/ArmVirtQemu.dsc" \ 483 "TARGET = $(VBOX_EFI_BUILD_TARGET)" \ 484 "TARGET_ARCH = AARCH64" \ 485 "TOOL_CHAIN_TAG = $(VBOX_EFI_TOOL_CHAIN)" \ 486 "MAX_CONCURRENT_THREAD_NUMBER = $(VBOX_EFI_MAX_THREADS)" 487 488 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/FV/QEMU_EFI.fd \ 489 + $(VBoxEfiFirmwareDbgAarch64_SOURCES): \ 490 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/target.txt \ 491 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/tools_def.txt \ 492 $(VBoxEfiFirmware_0_OUTDIR)/aarch64/Conf/build_rule.txt \ 493 $(VBOX_EFI_DEPENDENCIES) \ 494 $(VBOX_PATH_EFI_FIRMWARE)/ArmVirtPkg/ArmVirtQemu.dsc \ 495 $(VBOX_PATH_EFI_FIRMWARE)/ArmVirtPkg/ArmVirtQemu.fdf 496 + $(VBOX_EFI_BUILD_CMD) \ 497 --arch AARCH64 \ 498 --platform ArmVirtPkg/ArmVirtQemu.dsc 499 endif 500 501 361 502 # 362 503 # Some aliases. … … 365 506 build-efi-amd64: $$(filter %VBoxEFI64.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS)) 366 507 508 ifdef VBOX_WITH_VIRT_ARMV8 509 build-efi-aarch32: $$(filter %VBoxEFIAArch32.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS)) 510 build-efi-aarch64: $$(filter %VBoxEFIAArch64.fd,$$(VBoxEfiFirmware_2_STAGE_TARGETS)) 511 endif 512
Note:
See TracChangeset
for help on using the changeset viewer.

