Makefile revision 280950
1144091Sdas# $FreeBSD: head/sys/boot/efi/boot1/Makefile 280950 2015-04-01 08:30:40Z andrew $ 2144091Sdas 3144091SdasMAN= 4144091Sdas 5144091Sdas.include <bsd.own.mk> 6144091Sdas 7144091Sdas# In-tree GCC does not support __attribute__((ms_abi)). 8144091Sdas.if ${COMPILER_TYPE} != "gcc" 9144091Sdas 10144091SdasMK_SSP= no 11144091Sdas 12144091SdasPROG= loader.sym 13144091SdasINTERNALPROG= 14144091Sdas 15144091Sdas# architecture-specific loader code 16144091SdasSRCS= boot1.c reloc.c start.S 17144091Sdas 18144091SdasCFLAGS+= -fPIC 19144091SdasCFLAGS+= -I. 20144091SdasCFLAGS+= -I${.CURDIR}/../include 21144091SdasCFLAGS+= -I${.CURDIR}/../include/${MACHINE_CPUARCH} 22144091SdasCFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include 23144091SdasCFLAGS+= -I${.CURDIR}/../../.. 24144091Sdas 25144091Sdas# Always add MI sources and REGULAR efi loader bits 26144091Sdas.PATH: ${.CURDIR}/../loader/arch/amd64 ${.CURDIR}/../../common 27144091SdasCFLAGS+= -I${.CURDIR}/../../common 28144091Sdas 29144091SdasFILES= boot1.efi boot1.efifat 30144091SdasFILESMODE_boot1.efi= ${BINMODE} 31144091Sdas 32144091SdasLDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE_CPUARCH}/ldscript.${MACHINE_CPUARCH} 33144091SdasLDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared -Wl,-znocombreloc 34144091Sdas 35144091Sdas${PROG}: ${LDSCRIPT} 36144091Sdas 37144091SdasOBJCOPY?= objcopy 38144091SdasOBJDUMP?= objdump 39144091Sdas 40144091Sdas.if ${MACHINE_CPUARCH} == "amd64" 41144091SdasEFI_TARGET= efi-app-x86_64 42144091Sdas.elif ${MACHINE_CPUARCH} == "i386" 43144091SdasEFI_TARGET= efi-app-ia32 44144091Sdas.endif 45144091Sdas 46144091Sdasboot1.efi: loader.sym 47144091Sdas if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ 48144091Sdas ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ 49144091Sdas exit 1; \ 50144091Sdas fi 51144091Sdas ${OBJCOPY} -j .text -j .sdata -j .data \ 52144091Sdas -j .dynamic -j .dynsym -j .rel.dyn \ 53144091Sdas -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ 54144091Sdas --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} 55144091Sdas 56144091Sdasboot1.o: ${.CURDIR}/../../common/ufsread.c 57144091Sdas 58144091Sdas# The following inserts out objects into a template FAT file system 59144091Sdas# created by generate-fat.sh 60144091Sdas 61144091Sdas.include "${.CURDIR}/Makefile.fat" 62144091Sdas 63192760Sattilioboot1.efifat: boot1.efi 64217108Skib echo ${.OBJDIR} 65217108Skib uudecode ${.CURDIR}/fat.tmpl.bz2.uu 66 mv fat.tmpl.bz2 ${.TARGET}.bz2 67 bzip2 -f -d ${.TARGET}.bz2 68 dd if=boot1.efi of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc 69 70CLEANFILES= boot1.efifat 71 72.endif # ${COMPILER_TYPE} != "gcc" 73 74.include <bsd.prog.mk> 75 76beforedepend ${OBJS}: machine x86 77 78CLEANFILES+= machine x86 boot1.efi 79 80machine: 81 ln -sf ${.CURDIR}/../../../amd64/include machine 82 83x86: 84 ln -sf ${.CURDIR}/../../../x86/include x86 85