opnsense-src/stand/efi/Makefile.inc
Ahmad Khalifa ce02470205 stand: Add support for 64-bit machines with 32-bit UEFI implementations
Some machines have 64-bit capable cpus but are stuck on 32-bit uefi
firmware.

Add support for them by building a new "loader_ia32" with
LOADER_DEFAULT_INTERP along with the 64-bit one. The loader
can be disabled using MK_LOADER_IA32.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1098

(cherry picked from commit f8ca5d45c3)
2025-03-25 19:28:38 -06:00

35 lines
680 B
Makefile

# Options used when building app-specific efi components
# See conf/kern.mk for the correct set of these
CFLAGS+= -Wformat
LDFLAGS+= -nostdlib
.if ${MACHINE_CPUARCH} == "amd64"
CFLAGS+= -fshort-wchar
CFLAGS+= -mno-red-zone
.endif
.if ${MACHINE_CPUARCH} == "aarch64"
CFLAGS+= -fshort-wchar
CFLAGS+= -fPIC
.endif
.if ${MACHINE_CPUARCH} == "arm"
CFLAGS+= -fPIC
.endif
.if ${MACHINE_CPUARCH} == "amd64"
.if ${DO32:U0} == 1
EFI_TARGET= efi-app-ia32
.else
EFI_TARGET= efi-app-x86_64
.endif
.else
EFI_TARGET= binary
.endif
# Arbitrarily set the PE/COFF header timestamps to 1 Jan 2024 00:00:00
# for build reproducibility.
SOURCE_DATE_EPOCH?=1704067200
.include "../Makefile.inc"