2001-06-09 12:49:51 -04:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
2006-03-17 13:54:44 -05:00
|
|
|
NO_MAN=
|
|
|
|
|
|
|
|
|
|
.include <bsd.own.mk>
|
2009-02-21 10:04:31 -05:00
|
|
|
MK_SSP= no
|
2006-03-17 13:54:44 -05:00
|
|
|
|
2004-11-23 01:02:03 -05:00
|
|
|
PROG= loader.sym
|
2004-02-12 03:10:34 -05:00
|
|
|
INTERNALPROG=
|
2006-11-05 17:03:04 -05:00
|
|
|
SRCS= conf.c efimd.c main.c pal.S start.S vers.c
|
2001-06-09 12:49:51 -04:00
|
|
|
|
2006-11-05 17:03:04 -05:00
|
|
|
.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH}
|
|
|
|
|
|
|
|
|
|
CFLAGS+= -I${.CURDIR}/../common
|
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../common
|
2004-11-23 01:02:03 -05:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../efi/include
|
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
|
2006-11-05 17:03:04 -05:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../..
|
2004-11-23 01:02:03 -05:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
|
2003-02-26 01:18:52 -05:00
|
|
|
|
2004-11-23 01:02:03 -05:00
|
|
|
LDSCRIPT= ${.CURDIR}/ldscript.${MACHINE_ARCH}
|
2004-02-12 23:45:41 -05:00
|
|
|
LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic
|
2004-11-23 01:02:03 -05:00
|
|
|
|
|
|
|
|
${PROG}: ${LDSCRIPT}
|
2001-06-09 12:49:51 -04:00
|
|
|
|
2004-11-23 01:02:03 -05:00
|
|
|
NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH}
|
|
|
|
|
|
2004-02-12 03:10:34 -05:00
|
|
|
vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
|
2001-06-09 12:49:51 -04:00
|
|
|
sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
|
|
|
|
|
|
2004-11-23 01:02:03 -05:00
|
|
|
OBJCOPY?= objcopy
|
2004-11-27 19:26:11 -05:00
|
|
|
OBJDUMP?= objdump
|
2004-11-23 01:02:03 -05:00
|
|
|
|
2006-11-05 17:03:04 -05:00
|
|
|
FILES= loader.efi
|
|
|
|
|
FILESMODE_loader.efi= ${BINMODE}
|
|
|
|
|
|
2004-02-12 03:10:34 -05:00
|
|
|
loader.efi: loader.sym
|
2004-11-27 19:26:11 -05:00
|
|
|
if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
|
|
|
|
|
${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
|
2006-11-05 17:03:04 -05:00
|
|
|
rm ${.ALLSRC}; \
|
2004-11-27 19:26:11 -05:00
|
|
|
exit 1; \
|
|
|
|
|
fi
|
2004-11-23 01:02:03 -05:00
|
|
|
${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
|
|
|
|
|
-j .rela.dyn -j .reloc -j .sdata -j .text \
|
2004-11-27 19:26:11 -05:00
|
|
|
--target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET}
|
2001-06-09 12:49:51 -04:00
|
|
|
|
2006-11-05 17:03:04 -05:00
|
|
|
CLEANFILES= vers.c loader.efi
|
2001-06-09 12:49:51 -04:00
|
|
|
|
2006-11-05 17:03:04 -05:00
|
|
|
LIBIA64= ${.OBJDIR}/../common/libia64.a
|
2004-11-23 01:02:03 -05:00
|
|
|
LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a
|
2006-11-05 17:03:04 -05:00
|
|
|
.if ${MK_FORTH} != "no"
|
|
|
|
|
LIBFICL= ${.OBJDIR}/../../ficl/libficl.a
|
|
|
|
|
.endif
|
2001-06-09 12:49:51 -04:00
|
|
|
|
2006-11-05 17:03:04 -05:00
|
|
|
DPADD= ${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND}
|
|
|
|
|
LDADD= -Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \
|
|
|
|
|
${LIBFICL} ${LIBEFI} -lstand
|
2001-06-09 12:49:51 -04:00
|
|
|
|
|
|
|
|
.include <bsd.prog.mk>
|