Makefile revision 294981
1# $FreeBSD: stable/10/sys/boot/efi/loader/Makefile 294981 2016-01-28 12:11:42Z smh $ 2 3MAN= 4 5.include <bsd.own.mk> 6 7MK_SSP= no 8 9PROG= loader.sym 10INTERNALPROG= 11WARNS?= 3 12 13# architecture-specific loader code 14SRCS= autoload.c \ 15 bootinfo.c \ 16 conf.c \ 17 copy.c \ 18 devicename.c \ 19 main.c \ 20 smbios.c \ 21 vers.c 22 23.PATH: ${.CURDIR}/arch/${MACHINE} 24# For smbios.c 25.PATH: ${.CURDIR}/../../i386/libi386 26.include "${.CURDIR}/arch/${MACHINE}/Makefile.inc" 27 28CFLAGS+= -fPIC 29CFLAGS+= -I${.CURDIR} 30CFLAGS+= -I${.CURDIR}/arch/${MACHINE} 31CFLAGS+= -I${.CURDIR}/../include 32CFLAGS+= -I${.CURDIR}/../include/${MACHINE} 33CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include 34CFLAGS+= -I${.CURDIR}/../../.. 35CFLAGS+= -I${.CURDIR}/../../i386/libi386 36CFLAGS+= -DNO_PCI -DEFI 37 38.if ${MK_FORTH} != "no" 39BOOT_FORTH= yes 40CFLAGS+= -DBOOT_FORTH 41CFLAGS+= -I${.CURDIR}/../../ficl 42CFLAGS+= -I${.CURDIR}/../../ficl/${MACHINE} 43LIBFICL= ${.OBJDIR}/../../ficl/libficl.a 44.endif 45 46# Include bcache code. 47HAVE_BCACHE= yes 48 49.if defined(EFI_STAGING_SIZE) 50CFLAGS+= -DEFI_STAGING_SIZE=${EFI_STAGING_SIZE} 51.endif 52 53# Always add MI sources 54.PATH: ${.CURDIR}/../../common 55.include "${.CURDIR}/../../common/Makefile.inc" 56CFLAGS+= -I${.CURDIR}/../../common 57 58FILES= loader.efi 59FILESMODE_loader.efi= ${BINMODE} 60 61LDSCRIPT= ${.CURDIR}/arch/${MACHINE}/ldscript.${MACHINE} 62LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared -Wl,-znocombreloc 63 64CLEANFILES= vers.c loader.efi 65 66NEWVERSWHAT= "EFI loader" ${MACHINE} 67 68vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../efi/loader/version 69 sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} 70 71OBJCOPY?= objcopy 72OBJDUMP?= objdump 73 74.if ${MACHINE_CPUARCH} == "amd64" 75EFI_TARGET= efi-app-x86_64 76.elif ${MACHINE_CPUARCH} == "i386" 77EFI_TARGET= efi-app-ia32 78.endif 79 80loader.efi: ${PROG} 81 if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ 82 ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ 83 exit 1; \ 84 fi 85 ${OBJCOPY} -j .text -j .sdata -j .data \ 86 -j .dynamic -j .dynsym -j .rel.dyn \ 87 -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ 88 --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} 89 90LIBEFI= ${.OBJDIR}/../libefi/libefi.a 91 92DPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} ${LDSCRIPT} 93LDADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} 94 95.include <bsd.prog.mk> 96 97beforedepend ${OBJS}: machine x86 98 99CLEANFILES+= machine x86 100 101machine: 102 ln -sf ${.CURDIR}/../../../amd64/include machine 103 104x86: 105 ln -sf ${.CURDIR}/../../../x86/include x86 106