Changeset View
Changeset View
Standalone View
Standalone View
sys/boot/efi/loader/Makefile
Show All 18 Lines | SRCS= autoload.c \ | ||||
main.c \ | main.c \ | ||||
self_reloc.c \ | self_reloc.c \ | ||||
smbios.c \ | smbios.c \ | ||||
vers.c | vers.c | ||||
.if ${MK_ZFS} != "no" | .if ${MK_ZFS} != "no" | ||||
SRCS+= zfs.c | SRCS+= zfs.c | ||||
.PATH: ${.CURDIR}/../../zfs | .PATH: ${.CURDIR}/../../zfs | ||||
SRCS+= skein.c skein_block.c | LIBCRYPTOBOOT= ${.OBJDIR}/../libcryptoboot/libcryptoboot.a | ||||
.PATH: ${.CURDIR}/../../../crypto/skein | |||||
# Disable warnings that are currently incompatible with the zfs boot code | # Disable warnings that are currently incompatible with the zfs boot code | ||||
CWARNFLAGS.zfs.c+= -Wno-sign-compare | CWARNFLAGS.zfs.c+= -Wno-sign-compare | ||||
CWARNFLAGS.zfs.c+= -Wno-array-bounds | CWARNFLAGS.zfs.c+= -Wno-array-bounds | ||||
CWARNFLAGS.zfs.c+= -Wno-missing-prototypes | CWARNFLAGS.zfs.c+= -Wno-missing-prototypes | ||||
.endif | .endif | ||||
# We implement a slightly non-standard %S in that it always takes a | # We implement a slightly non-standard %S in that it always takes a | ||||
Show All 13 Lines | |||||
CFLAGS+= -I${.CURDIR}/../include | CFLAGS+= -I${.CURDIR}/../include | ||||
CFLAGS+= -I${.CURDIR}/../include/${MACHINE} | CFLAGS+= -I${.CURDIR}/../include/${MACHINE} | ||||
CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include | CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include | ||||
CFLAGS+= -I${.CURDIR}/../../.. | CFLAGS+= -I${.CURDIR}/../../.. | ||||
CFLAGS+= -I${.CURDIR}/../../i386/libi386 | CFLAGS+= -I${.CURDIR}/../../i386/libi386 | ||||
.if ${MK_ZFS} != "no" | .if ${MK_ZFS} != "no" | ||||
CFLAGS+= -I${.CURDIR}/../../zfs | CFLAGS+= -I${.CURDIR}/../../zfs | ||||
CFLAGS+= -I${.CURDIR}/../../../cddl/boot/zfs | CFLAGS+= -I${.CURDIR}/../../../cddl/boot/zfs | ||||
CFLAGS+= -I${.CURDIR}/../../../crypto/skein | |||||
CFLAGS+= -DEFI_ZFS_BOOT | CFLAGS+= -DEFI_ZFS_BOOT | ||||
.endif | .endif | ||||
CFLAGS+= -DNO_PCI -DEFI | CFLAGS+= -DNO_PCI -DEFI | ||||
# make buildenv doesn't set DESTDIR, this means LIBSTAND | # make buildenv doesn't set DESTDIR, this means LIBSTAND | ||||
# will be wrong when crossbuilding. | # will be wrong when crossbuilding. | ||||
.if exists(${.OBJDIR}/../../../../lib/libstand/libstand.a) | .if exists(${.OBJDIR}/../../../../lib/libstand/libstand.a) | ||||
LIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a | LIBSTAND= ${.OBJDIR}/../../../../lib/libstand/libstand.a | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | loader.efi: ${PROG} | ||||
fi | fi | ||||
${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ | ${OBJCOPY} -j .peheader -j .text -j .sdata -j .data \ | ||||
-j .dynamic -j .dynsym -j .rel.dyn \ | -j .dynamic -j .dynsym -j .rel.dyn \ | ||||
-j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ | -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ | ||||
--output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} | --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} | ||||
LIBEFI= ${.OBJDIR}/../libefi/libefi.a | LIBEFI= ${.OBJDIR}/../libefi/libefi.a | ||||
DPADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND} \ | DPADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBCRYPTOBOOT} \ | ||||
${LDSCRIPT} | ${LIBSTAND} ${LDSCRIPT} | ||||
LDADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND} | LDADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBCRYPTOBOOT} \ | ||||
${LIBSTAND} | |||||
.include <bsd.prog.mk> | .include <bsd.prog.mk> | ||||
beforedepend ${OBJS}: machine | beforedepend ${OBJS}: machine | ||||
CLEANFILES+= machine | CLEANFILES+= machine | ||||
machine: .NOMETA | machine: .NOMETA | ||||
Show All 9 Lines |