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