mirror of
https://github.com/opnsense/src.git
synced 2026-04-03 16:35:27 -04:00
FICL definitions not in ficl/ficl32 files broke this generally. This makes that stuff conditional on BOOT_FORTH. Also, move definitions related to the architecture (FICL_CPUARCH and friends) into Makefile.ficl that all parts of the tree that include files with ficl need to include (but only if MK_FORTH == yes). In addition, had to fix library ordering issue with LIBSTAND to keep it last. Without boot forth, there's no references to memset to bring in memset.o from libstand.a to satisfy libgeliboot.a's use of it. Listing libstand last solves this issue (and it's the proper place for libstand to boot).
53 lines
1.4 KiB
Makefile
53 lines
1.4 KiB
Makefile
# $FreeBSD$
|
|
|
|
.include <src.opts.mk>
|
|
|
|
.if ${MK_FORTH} != "no"
|
|
.include "${.CURDIR}/../../Makefile.ficl"
|
|
.endif
|
|
|
|
LIB= efi
|
|
INTERNALLIB=
|
|
WARNS?= 2
|
|
|
|
SRCS= delay.c devpath.c efi_console.c efinet.c efipart.c errno.c \
|
|
handles.c libefi.c
|
|
|
|
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
|
|
SRCS+= time.c
|
|
.elif ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm"
|
|
SRCS+= time_event.c
|
|
.endif
|
|
.if ${MK_FORTH} != "no"
|
|
SRCS+= env.c
|
|
.endif
|
|
|
|
# We implement a slightly non-standard %S in that it always takes a
|
|
# CHAR16 that's common in UEFI-land instead of a wchar_t. This only
|
|
# seems to matter on arm64 where wchar_t defaults to an int instead
|
|
# of a short. There's no good cast to use here so just ignore the
|
|
# warnings for now.
|
|
CWARNFLAGS.efinet.c+= -Wno-format
|
|
|
|
.if ${MACHINE_CPUARCH} == "aarch64"
|
|
CFLAGS+= -msoft-float -mgeneral-regs-only
|
|
.endif
|
|
.if ${MACHINE_ARCH} == "amd64"
|
|
CFLAGS+= -fPIC -mno-red-zone
|
|
.endif
|
|
CFLAGS+= -I${.CURDIR}/../include
|
|
CFLAGS+= -I${.CURDIR}/../include/${MACHINE}
|
|
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
|
|
|
|
# Pick up the bootstrap header for some interface items
|
|
CFLAGS+= -I${.CURDIR}/../../common
|
|
|
|
# Handle FreeBSD specific %b and %D printf format specifiers
|
|
CFLAGS+= ${FORMAT_EXTENSIONS}
|
|
|
|
# Do not use TERM_EMU on arm and arm64 as it doesn't behave well with serial console
|
|
.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "aarch64"
|
|
CFLAGS+= -DTERM_EMU
|
|
.endif
|
|
|
|
.include <bsd.lib.mk>
|