diff options
Diffstat (limited to 'stand/i386/gptboot/Makefile')
-rw-r--r-- | stand/i386/gptboot/Makefile | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/stand/i386/gptboot/Makefile b/stand/i386/gptboot/Makefile new file mode 100644 index 000000000000..9e62007c55ae --- /dev/null +++ b/stand/i386/gptboot/Makefile @@ -0,0 +1,75 @@ +# $FreeBSD$ + +HAVE_GELI= yes + +.include <bsd.init.mk> + +.PATH: ${BOOTSRC}/i386/boot2 ${BOOTSRC}/i386/common ${SASRC} + +FILES= gptboot +MAN= gptboot.8 + +NM?= nm + +BOOT_COMCONSOLE_PORT?= 0x3f8 +BOOT_COMCONSOLE_SPEED?= 9600 +B2SIOFMT?= 0x3 + +REL1= 0x700 +ORG1= 0x7c00 +ORG2= 0x0 + +# Decide level of UFS support. +GPTBOOT_UFS?= UFS1_AND_UFS2 +#GPTBOOT_UFS?= UFS2_ONLY +#GPTBOOT_UFS?= UFS1_ONLY + +CFLAGS+=-DBOOTPROG=\"gptboot\" \ + -O1 \ + -DGPT \ + -D${GPTBOOT_UFS} \ + -DSIOPRT=${BOOT_COMCONSOLE_PORT} \ + -DSIOFMT=${B2SIOFMT} \ + -DSIOSPD=${BOOT_COMCONSOLE_SPEED} \ + -I${LDRSRC} \ + -I${BOOTSRC}/i386/common \ + -I${BTXLIB} \ + -I${BOOTSRC}/i386/boot2 \ + -Wall -Waggregate-return -Wbad-function-cast -Wno-cast-align \ + -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ + -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ + -Winline -Wno-pointer-sign + +CFLAGS.gcc+= --param max-inline-insns-single=100 + +LD_FLAGS+=${LD_FLAGS_BIN} + +CLEANFILES+= gptboot + +gptboot: gptldr.bin gptboot.bin ${BTXKERN} + btxld -v -E ${ORG2} -f bin -b ${BTXKERN} -l gptldr.bin \ + -o ${.TARGET} gptboot.bin + +CLEANFILES+= gptldr.bin gptldr.out gptldr.o + +gptldr.bin: gptldr.out + ${OBJCOPY} -S -O binary gptldr.out ${.TARGET} + +gptldr.out: gptldr.o + ${LD} ${LD_FLAGS} -e start -Ttext ${ORG1} -o ${.TARGET} gptldr.o + +CLEANFILES+= gptboot.bin gptboot.out gptboot.o sio.o crc32.o drv.o \ + cons.o ${OPENCRYPTO_XTS} + +gptboot.bin: gptboot.out + ${OBJCOPY} -S -O binary gptboot.out ${.TARGET} + +gptboot.out: ${BTXCRT} gptboot.o sio.o crc32.o drv.o cons.o ${OPENCRYPTO_XTS} + ${LD} ${LD_FLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} ${LIBGELIBOOT} ${LIBSA32} + +gptboot.o: ${SASRC}/ufsread.c + +.include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.gptldr.S= ${CLANG_NO_IAS} |