summaryrefslogtreecommitdiffstats
path: root/stand/sparc64/boot1/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'stand/sparc64/boot1/Makefile')
-rw-r--r--stand/sparc64/boot1/Makefile32
1 files changed, 32 insertions, 0 deletions
diff --git a/stand/sparc64/boot1/Makefile b/stand/sparc64/boot1/Makefile
new file mode 100644
index 0000000..36e3968
--- /dev/null
+++ b/stand/sparc64/boot1/Makefile
@@ -0,0 +1,32 @@
+# $FreeBSD$
+
+.include <bsd.init.mk>
+
+PROG= boot1.elf
+INTERNALPROG=
+MAN=
+FILES?= boot1
+SRCS= _start.s boot1.c
+CLEANFILES+=${FILES} boot1.aout
+
+BOOTBLOCKBASE= 0x4000
+
+CFLAGS.clang+=-mcmodel=small
+CFLAGS.gcc+=-mcmodel=medlow
+CFLAGS+=-Os -I${LDRSRC}
+LDFLAGS+=-Ttext ${BOOTBLOCKBASE} -Wl,-N
+
+# Construct boot1. sunlabel expects it to contain zeroed-out space for the
+# label, and to be of the correct size.
+${FILES}: boot1.aout
+ @set -- `ls -l ${.ALLSRC}`; x=$$((7680-$$5)); \
+ echo "$$x bytes available"; test $$x -ge 0
+ ${DD} if=/dev/zero of=${.TARGET} bs=512 count=16
+ ${DD} if=${.ALLSRC} of=${.TARGET} bs=512 oseek=1 conv=notrunc
+
+boot1.aout: boot1.elf
+ elf2aout -o ${.TARGET} ${.ALLSRC}
+
+boot1.o: ${SASRC}/ufsread.c
+
+.include <bsd.prog.mk>
OpenPOWER on IntegriCloud