Simplify the building of our i386 'binary' boot components by directly

producing them using 'ld' options rather than post-processing with 'objcopy'.

Idea by:	Ryan Sommers <ryans@gamersimpact.com>
This commit is contained in:
David E. O'Brien 2004-04-25 19:50:20 +00:00
parent a8abffed54
commit a50d1c0876
6 changed files with 12 additions and 35 deletions

View File

@ -1,11 +1,10 @@
# $FreeBSD$
PROG= ${BOOT}.out
PROG= ${BOOT}
INTERNALPROG=
FILES= ${BOOT}
NOMAN=
SRCS= ${BOOT}.s
CLEANFILES= ${BOOT}
BOOT?= boot0
@ -34,9 +33,6 @@ AFLAGS+=--defsym FLAGS=${BOOT_BOOT0_FLAGS} \
--defsym TICKS=${BOOT_BOOT0_TICKS} \
--defsym COMSPEED=${BOOT_BOOT0_COMCONSOLE_SPEED}
LDFLAGS=-N -e start -Ttext ${BOOT_BOOT0_ORG}
${BOOT}: ${BOOT}.out
objcopy -S -O binary ${BOOT}.out ${.TARGET}
LDFLAGS=-N -e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-S -Wl,--oformat -Wl,binary
.include <bsd.prog.mk>

View File

@ -1,6 +1,6 @@
# $FreeBSD$
PROG= btx.out
PROG= btx
INTERNALPROG=
NOMAN=
SRCS= btx.S
@ -29,11 +29,6 @@ CFLAGS+=-DBTX_SERIAL -DSIOPRT=${BOOT_COMCONSOLE_PORT} \
ORG= 0x9000
all: btx
LDFLAGS=-N -e start -Ttext ${ORG}
btx: btx.out
objcopy -S -O binary btx.out ${.TARGET}
LDFLAGS=-N -e start -Ttext ${ORG} -Wl,-S -Wl,--oformat -Wl,binary
.include <bsd.prog.mk>

View File

@ -1,6 +1,6 @@
# $FreeBSD$
PROG= btxldr.out
PROG= btxldr
INTERNALPROG=
NOMAN=
SRCS= btxldr.S
@ -12,11 +12,6 @@ CFLAGS+=-DLOADER_ADDRESS=${LOADER_ADDRESS}
CFLAGS+=-DBTXLDR_VERBOSE
.endif
all: btxldr
LDFLAGS=-N -e start -Ttext ${LOADER_ADDRESS}
btxldr: btxldr.out
objcopy -S -O binary btxldr.out ${.TARGET}
LDFLAGS=-N -e start -Ttext ${LOADER_ADDRESS} -Wl,-S -Wl,--oformat -Wl,binary
.include <bsd.prog.mk>

View File

@ -1,6 +1,6 @@
# $FreeBSD$
PROG= ${BOOT}.out
PROG= ${BOOT}
INTERNALPROG=
FILES= ${BOOT}
NOMAN=
@ -10,9 +10,6 @@ CLEANFILES= ${BOOT}
BOOT= cdboot
ORG= 0x7c00
${BOOT}: ${BOOT}.out
objcopy -S -O binary ${BOOT}.out ${.TARGET}
LDFLAGS=-N -e start -Ttext ${ORG}
LDFLAGS=-N -e start -Ttext ${ORG} -Wl,-S -Wl,--oformat -Wl,binary
.include <bsd.prog.mk>

View File

@ -1,6 +1,6 @@
# $FreeBSD$
PROG= ${BOOT}.out
PROG= ${BOOT}
INTERNALPROG=
FILES= ${BOOT}
NOMAN=
@ -10,9 +10,6 @@ CLEANFILES= ${BOOT}
BOOT= mbr
ORG= 0x600
${BOOT}: ${BOOT}.out
objcopy -S -O binary ${BOOT}.out ${.TARGET}
LDFLAGS=-N -e start -Ttext ${ORG}
LDFLAGS=-N -e start -Ttext ${ORG} -Wl,-S -Wl,--oformat -Wl,binary
.include <bsd.prog.mk>

View File

@ -3,7 +3,7 @@
# Pick up ../Makefile.inc early.
.include <bsd.init.mk>
PROG= ${LDR}.out
PROG= ${LDR}
INTERNALPROG=
FILES= ${BOOT}
MAN= ${BOOT}.8
@ -34,10 +34,7 @@ ${BOOT}: ${LDR} ${LOADER}
CLEANFILES+= ${LDR}
${LDR}: ${LDR}.out
objcopy -S -O binary ${LDR}.out ${.TARGET}
LDFLAGS+= -N -e start -Ttext ${ORG}
LDFLAGS+= -N -e start -Ttext ${ORG} -Wl,-S -Wl,--oformat -Wl,binary
CLEANFILES+= ${LOADER}