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