1206376Srpaulo# $FreeBSD$ 2206376Srpaulo 3206376SrpauloNO_MAN= 4206376SrpauloBUILDING_EFI= 5206376Srpaulo 6206376Srpaulo.include <bsd.own.mk> 7255944SbdreweryMK_SSP= no 8206376Srpaulo 9206376SrpauloPROG= loader.sym 10206376SrpauloINTERNALPROG= 11206376Srpaulo 12206376Srpaulo# architecture-specific loader code 13206376SrpauloSRCS= main.c exec.c conf.c vers.c reloc.c start.S elf32_freebsd.c 14206376SrpauloSRCS+= i386_copy.c bootinfo.c autoload.c devicename.c efimd.c 15206376Srpaulo 16206376SrpauloCFLAGS+= -I${.CURDIR}/../../efi/include 17206376SrpauloCFLAGS+= -I${.CURDIR}/../../efi/include/i386 18206376Srpaulo 19206376Srpaulo.if ${MK_FORTH} != "no" 20206376SrpauloBOOT_FORTH= yes 21206376SrpauloCFLAGS+= -DBOOT_FORTH 22206376SrpauloCFLAGS+= -I${.CURDIR}/../../ficl 23206376SrpauloCFLAGS+= -I${.CURDIR}/../../ficl/i386 24206376SrpauloLIBFICL= ${.OBJDIR}/../../ficl/libficl.a 25206376Srpaulo.endif 26206376Srpaulo 27206376Srpaulo# Include bcache code. 28206376SrpauloHAVE_BCACHE= yes 29206376Srpaulo 30206376Srpaulo# Always add MI sources 31206376Srpaulo.PATH: ${.CURDIR}/../../common 32206376Srpaulo.include "${.CURDIR}/../../common/Makefile.inc" 33206376SrpauloCFLAGS+= -I${.CURDIR}/../../common 34206376Srpaulo 35206376SrpauloFILES= loader.efi 36206376SrpauloFILESMODE_loader.efi= ${BINMODE} 37206376Srpaulo 38234493SmarcelLDSCRIPT= ${.CURDIR}/ldscript.i386 39245765SbennoLDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared 40206376Srpaulo 41206376Srpaulo${PROG}: ${LDSCRIPT} 42206376Srpaulo 43206376SrpauloCLEANFILES= vers.c loader.efi 44206376Srpaulo 45212066SdelphijNEWVERSWHAT= "EFI loader" x86 46206376Srpaulo 47206376Srpaulovers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 48206376Srpaulo sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 49206376Srpaulo 50206376SrpauloOBJCOPY?= objcopy 51206376SrpauloOBJDUMP?= objdump 52206376Srpaulo 53206376Srpauloloader.efi: loader.sym 54206376Srpaulo if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ 55206376Srpaulo ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ 56206376Srpaulo exit 1; \ 57206376Srpaulo fi 58206376Srpaulo ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ 59206376Srpaulo -j .rel.dyn -j .reloc -j .sdata -j .text -j set_Xcommand_set \ 60206376Srpaulo --target=efi-app-ia32 ${.ALLSRC} ${.TARGET} 61206376Srpaulo 62206376SrpauloLIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a 63206376SrpauloCFLAGS+= -I${.CURDIR}/../libi386 64206376SrpauloCFLAGS+= -I${.CURDIR}/../btx/lib 65206376Srpaulo 66206376SrpauloDPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} 67234493SmarcelLDADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} 68206376Srpaulo 69206376Srpaulo.include <bsd.prog.mk> 70234493Smarcel 71234493Smarcel.if ${MACHINE_CPUARCH} == "amd64" 72234493SmarcelCFLAGS+= -I. 73234493Smarcelbeforedepend ${OBJS}: machine 74234493Smarcelmachine: 75234493Smarcel ln -sf ${.CURDIR}/../../../i386/include machine 76234493Smarcel.endif 77