1S= ${.CURDIR}/../../../../.. 2 3VERSIONFILE= ${.CURDIR}/version 4 5.include "../Makefile.booters" 6 7PROG= loader.sym 8 9MAN=# Tell bsd.prog.mk that loader.sym is not a man page. 10 11INTERNALPROG= 12 13 14SRCS= start.S conf.c efimd.c vers.c main.c 15 16CPPFLAGS+= -I${IA64_STAND_DIR}/efi/include 17CPPFLAGS+= -I${IA64_STAND_DIR}/efi/include/${MACHINE_ARCH} 18CPPFLAGS+= -I${IA64_STAND_DIR}/efi/libefi/ 19CPPFLAGS+= -I${IA64_STAND_DIR}/efi/libshell/ 20CPPFLAGS+= -I${IA64_STAND_DIR}/common/ 21CPPFLAGS+= -I${S} 22 23CPPFLAGS+= -DLOADER 24 25CPPFLAGS+= -DLIBKERN_OPTIMISE_SPACE \ 26 -DHEAP_VARIABLE 27 28 29# Pick up FreeBSD glue 30#CPPFLAGS+= -I${.CURDIR}/../../ 31 32# Always add MI sources 33.PATH: ${.CURDIR}/../../common 34.include "${.CURDIR}/../../common/Makefile.inc" 35 36 37FILES= loader.efi 38 39 40LDSCRIPT= ${.CURDIR}/ldscript.${MACHINE_ARCH} 41LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic -nostdlib 42 43${PROG}: ${LDSCRIPT} 44 45CLEANFILES+= vers.c loader.efi ${OBJS} 46 47NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH} 48 49vers.c: ${VERSIONFILE} ${SOURCES} 50 ${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \ 51 ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} 52 53loader.efi: ${PROG} 54 if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ 55 ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ 56 exit 1; \ 57 fi 58 ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ 59 -j .rela.dyn -j .reloc -j .sdata -j .text \ 60 --target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET} 61 @echo link finished. 62 63all: loader.efi 64 65# Pull in libefi 66.include "${IA64_STAND_DIR}/efi/libefi/Makefile.inc" 67LIBEFI= ${EFILIB} 68 69DPADD= ${LIBEFI} ${LIBLIST} 70 71# Cross dependencies between LIBEFI and LIB(SA|KERN). Need to elaborate below. 72LDADD= ${LIBEFI} ${LIBLIST} ${LIBEFI} ${LIBLIST} 73 74.include <bsd.prog.mk> 75