1999-08-28 01:08:13 +00:00
|
|
|
# $FreeBSD$
|
1998-10-05 19:20:36 +00:00
|
|
|
|
|
|
|
PROG= boot0
|
|
|
|
NOMAN=
|
|
|
|
STRIP=
|
|
|
|
BINDIR?= /boot
|
1998-10-17 14:20:25 +00:00
|
|
|
BINMODE= 444
|
1998-10-05 10:08:37 +00:00
|
|
|
|
|
|
|
M4?= m4
|
|
|
|
|
2002-01-10 21:40:33 +00:00
|
|
|
# The default set of flags compiled into boot0. This enables update (writing
|
|
|
|
# the modified boot0 back to disk after running so that the selection made is
|
|
|
|
# saved), packet mode (detect and use the BIOS EDD extensions if we try to
|
|
|
|
# boot past the 1024 cylinder liimt), and booting from all valid slices.
|
|
|
|
BOOT_BOOT0_FLAGS?= 0xf
|
1998-10-19 19:13:53 +00:00
|
|
|
|
2002-01-10 21:40:33 +00:00
|
|
|
# The number of timer ticks to wait for a keypress before assuming the default
|
|
|
|
# selection. Since there are 18.2 ticks per second, the default value of
|
|
|
|
# 0xb6 (182d) corresponds to 10 seconds.
|
|
|
|
BOOT_BOOT0_TICKS?= 0xb6
|
|
|
|
|
|
|
|
# The base address that we the boot0 code to to run it. Don't change this
|
|
|
|
# unless you are glutton for punishment.
|
|
|
|
BOOT_BOOT0_ORG?= 0x600
|
1998-10-05 10:08:37 +00:00
|
|
|
|
|
|
|
boot0: boot0.o
|
1998-10-09 17:19:51 +00:00
|
|
|
.if ${OBJFORMAT} == aout
|
2002-01-10 21:40:33 +00:00
|
|
|
${LD} -N -s -T ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
|
1998-10-09 17:19:51 +00:00
|
|
|
dd if=boot0.out of=${.TARGET} ibs=32 skip=1
|
|
|
|
.else
|
2002-01-10 21:40:33 +00:00
|
|
|
${LD} -N -e start -Ttext ${BOOT_BOOT0_ORG} -o boot0.out boot0.o
|
1998-10-13 18:29:18 +00:00
|
|
|
objcopy -S -O binary boot0.out ${.TARGET}
|
1998-10-09 17:19:51 +00:00
|
|
|
.endif
|
1998-10-05 10:08:37 +00:00
|
|
|
|
2000-05-23 12:18:49 +00:00
|
|
|
boot0.o: boot0.s
|
2002-01-10 21:40:33 +00:00
|
|
|
${AS} ${AFLAGS} --defsym FLAGS=${BOOT_BOOT0_FLAGS} \
|
|
|
|
--defsym TICKS=${BOOT_BOOT0_TICKS} ${.IMPSRC} -o ${.TARGET}
|
1998-10-05 10:08:37 +00:00
|
|
|
|
1998-10-05 19:20:36 +00:00
|
|
|
CLEANFILES+= boot0.out boot0.o
|
1998-10-05 10:08:37 +00:00
|
|
|
|
|
|
|
.include <bsd.prog.mk>
|