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