Makefile revision 294981
1# $FreeBSD: stable/10/sys/boot/efi/boot1/Makefile 294981 2016-01-28 12:11:42Z smh $ 2 3MAN= 4 5.include <bsd.own.mk> 6 7MK_SSP= no 8 9PROG= boot1.sym 10INTERNALPROG= 11WARNS?= 6 12 13# architecture-specific loader code 14SRCS= boot1.c reloc.c start.S 15 16CFLAGS+= -fPIC 17CFLAGS+= -I. 18CFLAGS+= -I${.CURDIR}/../include 19CFLAGS+= -I${.CURDIR}/../include/${MACHINE} 20CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include 21CFLAGS+= -I${.CURDIR}/../../.. 22 23# Always add MI sources and REGULAR efi loader bits 24.PATH: ${.CURDIR}/../loader/arch/${MACHINE} 25.PATH: ${.CURDIR}/../loader 26.PATH: ${.CURDIR}/../../common 27CFLAGS+= -I${.CURDIR}/../../common 28 29FILES= boot1.efi boot1.efifat 30FILESMODE_boot1.efi= ${BINMODE} 31 32LDSCRIPT= ${.CURDIR}/../loader/arch/${MACHINE}/ldscript.${MACHINE} 33LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared 34 35.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 36LDFLAGS+= -Wl,-znocombreloc 37.endif 38 39# 40# Add libstand for required string and memory functions for all platforms. 41# 42DPADD+= ${LIBSTAND} 43LDADD+= -lstand 44 45DPADD+= ${LDSCRIPT} 46 47OBJCOPY?= objcopy 48OBJDUMP?= objdump 49 50.if ${MACHINE_CPUARCH} == "amd64" 51EFI_TARGET= efi-app-x86_64 52.elif ${MACHINE_CPUARCH} == "i386" 53EFI_TARGET= efi-app-ia32 54.endif 55 56boot1.efi: ${PROG} 57 if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ 58 ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ 59 exit 1; \ 60 fi 61 ${OBJCOPY} -j .text -j .sdata -j .data \ 62 -j .dynamic -j .dynsym -j .rel.dyn \ 63 -j .rela.dyn -j .reloc -j .eh_frame \ 64 --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} 65 66boot1.o: ${.CURDIR}/../../common/ufsread.c 67 68# The following inserts our objects into a template FAT file system 69# created by generate-fat.sh 70 71.include "${.CURDIR}/Makefile.fat" 72 73boot1.efifat: boot1.efi 74 echo ${.OBJDIR} 75 uudecode ${.CURDIR}/fat-${MACHINE}.tmpl.bz2.uu 76 mv fat-${MACHINE}.tmpl.bz2 ${.TARGET}.bz2 77 bzip2 -f -d ${.TARGET}.bz2 78 dd if=boot1.efi of=${.TARGET} seek=${BOOT1_OFFSET} conv=notrunc 79 80CLEANFILES= boot1.efi boot1.efifat 81 82.include <bsd.prog.mk> 83 84.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 85beforedepend ${OBJS}: machine x86 86 87CLEANFILES+= machine x86 88 89machine: 90 ln -sf ${.CURDIR}/../../../amd64/include machine 91 92x86: 93 ln -sf ${.CURDIR}/../../../x86/include x86 94.endif 95