aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/sparc64/boot1/Makefile
blob: 5150c3b5f85b240ba779e338c851485607942e8c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# $FreeBSD$

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${.CURDIR}/../../common
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 boot1.aout`; x=$$((7680-$$5)); \
	    echo "$$x bytes available"; test $$x -ge 0
	dd if=/dev/zero of=${.TARGET} bs=512 count=16
	dd if=boot1.aout of=${.TARGET} bs=512 oseek=1 conv=notrunc

boot1.aout: boot1.elf
	elf2aout -o ${.TARGET} ${.ALLSRC}

boot1.o: ${.CURDIR}/../../common/ufsread.c

.include <bsd.prog.mk>