Makefile revision 261567
1# $FreeBSD: head/sys/boot/i386/efi/Makefile 261567 2014-02-06 21:54:21Z emaste $ 2 3NO_MAN= 4BUILDING_EFI= 5 6.include <bsd.own.mk> 7MK_SSP= no 8 9PROG= loader.sym 10INTERNALPROG= 11 12# architecture-specific loader code 13SRCS= main.c exec.c conf.c vers.c reloc.c start.S elf32_freebsd.c 14SRCS+= i386_copy.c bootinfo.c autoload.c devicename.c efimd.c 15 16CFLAGS+= -I${.CURDIR}/../../efi/include 17CFLAGS+= -I${.CURDIR}/../../efi/include/i386 18 19.if ${MK_FORTH} != "no" 20BOOT_FORTH= yes 21CFLAGS+= -DBOOT_FORTH 22CFLAGS+= -I${.CURDIR}/../../ficl 23CFLAGS+= -I${.CURDIR}/../../ficl/i386 24LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 25.endif 26 27# Include bcache code. 28HAVE_BCACHE= yes 29 30# Always add MI sources 31.PATH: ${.CURDIR}/../../common 32.include "${.CURDIR}/../../common/Makefile.inc" 33CFLAGS+= -I${.CURDIR}/../../common 34 35FILES= loader.efi 36FILESMODE_loader.efi= ${BINMODE} 37 38LDSCRIPT= ${.CURDIR}/ldscript.i386 39LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared 40 41${PROG}: ${LDSCRIPT} 42 43CLEANFILES= vers.c loader.efi 44 45NEWVERSWHAT= "EFI loader" x86 46 47vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version 48 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 49 50OBJCOPY?= objcopy 51OBJDUMP?= objdump 52 53loader.efi: loader.sym 54 if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ 55 ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ 56 exit 1; \ 57 fi 58 ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ 59 -j .rel.dyn -j .reloc -j .sdata -j .text -j set_Xcommand_set \ 60 --target=efi-app-ia32 ${.ALLSRC} ${.TARGET} 61 62LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a 63LIBSTAND= ${.OBJDIR}/../../libstand32/libstand.a 64CFLAGS+= -I${.CURDIR}/../libi386 65CFLAGS+= -I${.CURDIR}/../btx/lib 66 67DPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} 68LDADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} 69 70.include <bsd.prog.mk> 71 72.if ${MACHINE_CPUARCH} == "amd64" 73CFLAGS+= -I. 74beforedepend ${OBJS}: machine 75machine: 76 ln -sf ${.CURDIR}/../../../i386/include machine 77.endif 78