1185096Sdfr# $FreeBSD$ 2185096Sdfr 3213136Spjd.PATH: ${.CURDIR}/../boot2 ${.CURDIR}/../gptboot \ 4213136Spjd ${.CURDIR}/../zfsboot ${.CURDIR}/../common \ 5213136Spjd ${.CURDIR}/../../common 6185096Sdfr 7185096SdfrFILES= gptzfsboot 8185096Sdfr 9185096SdfrNM?= nm 10185096Sdfr 11185096SdfrBOOT_COMCONSOLE_PORT?= 0x3f8 12185096SdfrBOOT_COMCONSOLE_SPEED?= 9600 13185096SdfrB2SIOFMT?= 0x3 14185096Sdfr 15185096SdfrREL1= 0x700 16185096SdfrORG1= 0x7c00 17185096SdfrORG2= 0x0 18185096Sdfr 19213136SpjdCFLAGS= -DBOOTPROG=\"gptzfsboot\" \ 20225530Savg -O1 \ 21185096Sdfr -DGPT -DBOOT2 \ 22185096Sdfr -DSIOPRT=${BOOT_COMCONSOLE_PORT} \ 23185096Sdfr -DSIOFMT=${B2SIOFMT} \ 24185096Sdfr -DSIOSPD=${BOOT_COMCONSOLE_SPEED} \ 25185096Sdfr -I${.CURDIR}/../../common \ 26213136Spjd -I${.CURDIR}/../common \ 27185096Sdfr -I${.CURDIR}/../../zfs \ 28185096Sdfr -I${.CURDIR}/../../../cddl/boot/zfs \ 29185096Sdfr -I${.CURDIR}/../btx/lib -I. \ 30185096Sdfr -I${.CURDIR}/../boot2 \ 31219089Spjd -I${.CURDIR}/../../.. \ 32185096Sdfr -Wall -Waggregate-return -Wbad-function-cast -Wcast-align \ 33185096Sdfr -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ 34185096Sdfr -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ 35185096Sdfr -Winline --param max-inline-insns-single=100 36185096Sdfr 37185096SdfrLDFLAGS=-static -N --gc-sections 38185096Sdfr 39185096Sdfr# Pick up ../Makefile.inc early. 40185096Sdfr.include <bsd.init.mk> 41185096Sdfr 42185096SdfrCLEANFILES= gptzfsboot 43185096Sdfr 44185096Sdfrgptzfsboot: gptldr.bin gptzfsboot.bin ${BTXKERN} 45185096Sdfr btxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l gptldr.bin \ 46185096Sdfr -o ${.TARGET} gptzfsboot.bin 47185096Sdfr 48185096SdfrCLEANFILES+= gptldr.bin gptldr.out gptldr.o 49185096Sdfr 50185096Sdfrgptldr.bin: gptldr.out 51185096Sdfr objcopy -S -O binary gptldr.out ${.TARGET} 52185096Sdfr 53185096Sdfrgptldr.out: gptldr.o 54185096Sdfr ${LD} ${LDFLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} gptldr.o 55185096Sdfr 56220924SaeCLEANFILES+= gptzfsboot.bin gptzfsboot.out zfsboot.o sio.o cons.o \ 57220924Sae drv.o gpt.o util.o 58185096Sdfr 59185096Sdfrgptzfsboot.bin: gptzfsboot.out 60185096Sdfr objcopy -S -O binary gptzfsboot.out ${.TARGET} 61185096Sdfr 62213136Spjdgptzfsboot.out: ${BTXCRT} zfsboot.o sio.o gpt.o drv.o cons.o util.o 63186243Sdfr ${LD} ${LDFLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBSTAND} 64185096Sdfr 65185096Sdfrzfsboot.o: ${.CURDIR}/../../zfs/zfsimpl.c 66185096Sdfr 67211677Simp.if ${MACHINE_CPUARCH} == "amd64" 68185175Sdfrbeforedepend zfsboot.o: machine 69185096SdfrCLEANFILES+= machine 70185096Sdfrmachine: 71185096Sdfr ln -sf ${.CURDIR}/../../../i386/include machine 72185096Sdfr.endif 73185096Sdfr 74185096Sdfr.include <bsd.prog.mk> 75232263Sdim 76232263Sdim# XXX: clang integrated-as doesn't grok .codeNN directives yet 77232263SdimCFLAGS.gptldr.S= ${CLANG_NO_IAS} 78232263SdimCFLAGS+= ${CFLAGS.${.IMPSRC:T}} 79