# $NetBSD: Makefile.booters,v 1.30 2001/11/22 00:14:20 jmc Exp $ BINDIR= /usr/mdec STRIPFLAG= BINMODE=444 DBG= -Os I386_STAND_DIR?= $S/arch/i386/stand .PATH: ${I386_STAND_DIR}/lib/crt/bootsect ${I386_STAND_DIR}/lib BSSTART= start_bootsect.o fraglist.o bootsectmain.o biosdisk_ll.o bios_disk.o diskbuf.o .PATH: ${I386_STAND_DIR}/lib/crt/rom ROMSTART= start_rom.o GENPROMDIR= ${I386_STAND_DIR}/genprom .PATH: ${I386_STAND_DIR}/lib/crt/dos DOSSTART= start_dos.o doscommain.o CPPFLAGS += -nostdinc -I${.OBJDIR} -I$S -I${I386_STAND_DIR}/lib -I$S/lib/libsa CPPFLAGS+= -D_STANDALONE CLEANFILES+= vers.c ${BASE}.list SRCS+= vers.c .if !make(obj) && !make(clean) && !make(cleandir) .BEGIN: machine .NOPATH: machine .endif realdepend realall: machine CLEANFILES+= machine machine:: -rm -f $@ ln -s $S/arch/i386/include $@ ${OBJS} ${BSSTART} ${ROMSTART} ${DOSSTART}: machine ### find out what to use for libkern KERN_AS= library .include "${S}/lib/libkern/Makefile.inc" LIBKERN= ${KERNLIB} ### find out what to use for libz Z_AS= library .include "${S}/lib/libz/Makefile.inc" LIBZ= ${ZLIB} ### find out what to use for libsa SA_AS= library SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes" .include "${S}/lib/libsa/Makefile.inc" LIBSA= ${SALIB} ### find out what to use for libi386 I386DIR= ${I386_STAND_DIR}/lib .include "${I386DIR}/Makefile.inc" LIBI386= ${I386LIB} .include cleandir distclean: cleanlibdir cleanlibdir: rm -rf lib .if ${OBJECT_FMT} == "ELF" LDFLAGS=-M -e start # -N does not work properly. .else LDFLAGS=-N -M -e _start .endif LIBLIST=${LIBI386} ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} ${LIBI386} ${LIBSA} .PHONY: vers.c vers.c: ${VERSIONFILE} sh ${S}conf/newvers_stand.sh ${.ALLSRC} 'i386' ${NEWVERSWHAT} ${BASE}.sym: ${BSSTART} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386} ${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext 0 ${BSSTART} ${OBJS} \ ${LIBLIST} >${BASE}.list ${BASE}.rom: ${GENPROM} ${ROMSTART} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386} ${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext ${RELOC} ${ROMSTART} ${OBJS} \ ${LIBLIST} >${BASE}.list ${OBJCOPY} --output-target=binary ${BASE}.sym ${BASE}.bin (cd ${GENPROMDIR}; ${MAKE} rom BINFILE=${.OBJDIR:Q}/${BASE:Q}.bin \ ROMFILE=${.OBJDIR:Q}/${BASE:Q}.rom ROM_SIZE=${ROM_SIZE:Q}) rm -f ${BASE}.bin ${BASE}.com: ${DOSSTART} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386} ${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext 0x100 ${DOSSTART} ${OBJS} \ ${LIBLIST} >${BASE}.list ${OBJCOPY} --output-target=binary ${BASE}.sym ${BASE}.com .include