diff options
Diffstat (limited to 'sys/boot/i386/loader/Makefile')
-rw-r--r-- | sys/boot/i386/loader/Makefile | 56 |
1 files changed, 44 insertions, 12 deletions
diff --git a/sys/boot/i386/loader/Makefile b/sys/boot/i386/loader/Makefile index 56c9f53..f730e5f 100644 --- a/sys/boot/i386/loader/Makefile +++ b/sys/boot/i386/loader/Makefile @@ -1,40 +1,72 @@ -# $Id: Makefile,v 1.1.1.1 1998/08/21 03:17:41 msmith Exp $ +# $Id: Makefile,v 1.2 1998/09/14 18:27:06 msmith Exp $ # from $NetBSD: Makefile,v 1.12 1998/02/19 14:18:36 drochner Exp $ -BASE= loader -PROG= ${BASE}.sym +BASE= loader +PROG= ${BASE} NOMAN= NEWVERSWHAT= "bootstrap loader" +# architecture-specific loader code +SRCS= main.c conf.c + # Enable PnP and ISA-PnP code. #HAVE_PNP= yes #HAVE_ISABUS= yes -# architecture-specific loader code -SRCS+= main.c conf.c +# Verbose ls causes extra heap usage +CFLAGS+= -DVERBOSE_LS # Always add MI sources .PATH: ${.CURDIR}/../../common .include <${.CURDIR}/../../common/Makefile.inc> CFLAGS+= -I${.CURDIR}/../../common -# Verbose ls causes extra heap usage -CFLAGS+= -DVERBOSE_LS -CLEANFILES+= vers.c vers.o ${BASE}.list +CLEANFILES+= vers.c vers.o ${BASE}.list setdef0.o setdef1.o setdefs.h \ + gensetdefs.o gensetdefs ${BASE}.bin CFLAGS+= -Wall +LDFLAGS= -nostdlib -static -Ttext 0x1000 +LDADD= -lstand ${LIBI386} # i386 standalone support library LIBI386= ${.OBJDIR}/../libi386/libi386.a CFLAGS+= -I${.CURDIR}/.. -CRT= ${.OBJDIR}/../libi386/crt/bootsect/bscrt.o + +# BTX components +BTXDIR= ${.CURDIR}/../btx +BTXLDR= ${BTXDIR}/btxldr/btxldr +BTXKERN= ${BTXDIR}/btx/btx +BTXCRT= ${BTXDIR}/lib/crt0.o +CFLAGS+= -I${BTXDIR}/lib + +# BTX is expecting ELF components +CFLAGS+= -elf vers.o: sh ${.CURDIR}/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} ${CC} -c vers.c -${BASE}.sym: ${OBJS} ${LIBI386} ${CRT} vers.o - ${LD} -o ${BASE}.sym -M -e _start -N -Ttext 0 ${CRT} ${OBJS} \ - vers.o -lstand ${LIBI386} -lstand >${.OBJDIR}/${BASE}.list +${BASE}: ${BASE}.bin ${BTXLDR} ${BTXKERN} + btxld -v -f aout -e 0x100000 -o ${.TARGET} -l ${BTXLDR} -b ${BTXKERN} ${BASE}.bin + +${BASE}.bin: ${OBJS} ${LIBI386} vers.o setdef0.o setdef1.o + ${LD} ${LDFLAGS} -o ${.TARGET} ${BTXCRT} setdef0.o ${OBJS} vers.o setdef1.o -lstand ${LIBI386} + +setdef0.o: setdefs.h + +setdef1.o: setdefs.h .include <bsd.prog.mk> + +# Linker set gymnastics +setdefs.h: gensetdefs ${OBJS} + @echo Generating linker sets + @./gensetdefs ${OBJS} >setdefs.h + +gensetdefs: gensetdefs.o + ${CC} -static gensetdefs.o -o $@ + +gensetdefs.o: gensetdefs.c + ${CC} -c $< + + |