diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-08-11 23:11:23 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-08-11 23:11:23 +0000 |
commit | fb6a32c2912aeedcccd7059407d495ad4a6e1421 (patch) | |
tree | 672650a8219bca690a2ac97afbb746a902db97b3 /sys/arch/sparc/stand/boot/Makefile | |
parent | 1c9a674781a04c62693d9e96cee8c3d61d7270bb (diff) |
ELF support in sparc bootblocks.
Loadfile is from alpha, but heaviliy hacked here.
The build is done by building elf versions of boot and bootxx, then
merging the .rodata and .text sections into .text with a horrible hack
and then using objcopy to convert that into a.out.
Maybe someone will want to fix installboot to deal with ELF instead, but
I won't be that someone in the nearest future.
Diffstat (limited to 'sys/arch/sparc/stand/boot/Makefile')
-rw-r--r-- | sys/arch/sparc/stand/boot/Makefile | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/sys/arch/sparc/stand/boot/Makefile b/sys/arch/sparc/stand/boot/Makefile index 078cde65973..1c74591bab0 100644 --- a/sys/arch/sparc/stand/boot/Makefile +++ b/sys/arch/sparc/stand/boot/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.9 2000/02/19 15:38:24 deraadt Exp $ +# $OpenBSD: Makefile,v 1.10 2002/08/11 23:11:22 art Exp $ # $NetBSD: Makefile,v 1.2 1995/09/30 21:43:38 pk Exp $ .PATH: ${.CURDIR}/../common @@ -9,16 +9,25 @@ NOMAN= noman INSTALL_STRIP= SRCS= srt0.S boot.c conf.c dvma.c net.c netif_sun.c promdev.c version.c +SRCS+= loadfile.c CFLAGS= -O2 -I${.CURDIR}/../common -I${.CURDIR}/../../../../arch \ - -I${.CURDIR}/../../../.. -I${.CURDIR}/../../../../lib/libsa ${DEFS} + -I${.CURDIR}/../../../.. -I${.CURDIR}/../../../../lib/libsa ${DEFS} \ + -DSPARC_BOOT_AOUT -DSPARC_BOOT_ELF -${PROG}: ${OBJS} ${LIBS} - ${LD} -N -T ${RELOC2} -e start ${OBJS} ${LIBSA} ${LIBKERN} ${LIBZ} `cc -print-libgcc-file-name` - # convert to Sun magic +CLEANFILES+=${PROG}.aout ${PROG}.elf +LIBS=${LIBSA} ${LIBKERN} ${LIBZ} + +elfclean: clean-elf.c + ${HOSTCC} -o elfclean ${.ALLSRC} + +${PROG}: ${OBJS} ${LIBS} elfclean + ${LD} -N -Ttext ${RELOC2} --format a.out-sparc-netbsd -e start ${OBJS} ${LIBSA} ${LIBKERN} ${LIBZ} `cc -print-libgcc-file-name` -o elf + ./elfclean elf + objcopy -j .text -j .data -j .bss -O a.out-sparc-netbsd elf a.out @size a.out (echo -n 01 | tr 01 '\01\03'; tail +3c a.out) > ${.TARGET} - @rm a.out + @rm a.out elf srt0.o: srt0.S ${CC} ${CFLAGS} -D_LOCORE -c ${.IMPSRC} |