Makefile.booters revision 1.32
11.32Sthorpej#	$NetBSD: Makefile.booters,v 1.32 2002/02/17 20:03:06 thorpej Exp $
21.32Sthorpej
31.32Sthorpej.include <bsd.own.mk>
41.1Sperry
51.2SthorpejSTRIPFLAG=
61.1SperryBINMODE=444
71.29Stls
81.29StlsDBG=    -Os
91.1Sperry
101.8SdrochnerI386_STAND_DIR?= $S/arch/i386/stand
111.8Sdrochner
121.8Sdrochner.PATH: ${I386_STAND_DIR}/lib/crt/bootsect ${I386_STAND_DIR}/lib
131.32SthorpejBSSTART= start_bootsect.o fraglist.o bootsectmain.o biosdisk_ll.o \
141.32Sthorpej	bios_disk.o diskbuf.o
151.32Sthorpej
161.8Sdrochner.PATH: ${I386_STAND_DIR}/lib/crt/rom
171.16SchristosROMSTART= start_rom.o
181.8SdrochnerGENPROMDIR= ${I386_STAND_DIR}/genprom
191.32SthorpejGENPROMOBJDIR!= cd ${GENPROMDIR} && ${PRINTOBJDIR}
201.32SthorpejGENPROM= ${GENPROMOBJDIR}/genprom
211.32Sthorpej
221.8Sdrochner.PATH: ${I386_STAND_DIR}/lib/crt/dos
231.16SchristosDOSSTART= start_dos.o doscommain.o
241.32Sthorpej
251.31Sthorpej.PATH: ${I386_STAND_DIR}/lib/crt/pxe
261.31SthorpejPXESTART= start_pxe.o
271.1Sperry
281.13ScgdCPPFLAGS += -nostdinc -I${.OBJDIR} -I$S -I${I386_STAND_DIR}/lib -I$S/lib/libsa
291.5SdrochnerCPPFLAGS+= -D_STANDALONE
301.1Sperry
311.32SthorpejCLEANFILES+= ${STARTFILE} vers.c ${BASE}.list
321.26SjdolecekSRCS+=	vers.c
331.7Sthorpej
341.30Sjmc.if !make(obj) && !make(clean) && !make(cleandir)
351.25Smycroft.BEGIN: machine
361.25Smycroft.NOPATH: machine
371.30Sjmc.endif
381.30Sjmc
391.25Smycroftrealdepend realall: machine
401.25SmycroftCLEANFILES+= machine
411.6Sdrochner
421.25Smycroftmachine::
431.10Shubertf	-rm -f $@
441.6Sdrochner	ln -s $S/arch/i386/include $@
451.23Sdrochner
461.31Sthorpej${OBJS} ${BSSTART} ${ROMSTART} ${DOSSTART} ${PXESTART}: machine
471.6Sdrochner
481.1Sperry### find out what to use for libkern
491.1SperryKERN_AS=	library
501.1Sperry.include "${S}/lib/libkern/Makefile.inc"
511.1SperryLIBKERN=	${KERNLIB}
521.1Sperry
531.1Sperry### find out what to use for libz
541.1SperryZ_AS=		library
551.1Sperry.include "${S}/lib/libz/Makefile.inc"
561.1SperryLIBZ=		${ZLIB}
571.1Sperry
581.1Sperry### find out what to use for libsa
591.1SperrySA_AS=		library
601.22SchristosSAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
611.1Sperry.include "${S}/lib/libsa/Makefile.inc"
621.1SperryLIBSA=		${SALIB}
631.1Sperry
641.1Sperry### find out what to use for libi386
651.8SdrochnerI386DIR= ${I386_STAND_DIR}/lib
661.1Sperry.include "${I386DIR}/Makefile.inc"
671.1SperryLIBI386=		${I386LIB}
681.17Stron
691.18Stroncleandir distclean: cleanlibdir
701.17Stron
711.17Stroncleanlibdir:
721.17Stron	rm -rf lib
731.16Schristos
741.16Schristos.if ${OBJECT_FMT} == "ELF"
751.16SchristosLDFLAGS=-M -e start 	# -N does not work properly.
761.16Schristos.else
771.16SchristosLDFLAGS=-N -M -e _start 
781.16Schristos.endif
791.16Schristos
801.22SchristosLIBLIST=${LIBI386} ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN} ${LIBI386} ${LIBSA}
811.22Schristos
821.26Sjdolecek.PHONY: vers.c
831.26Sjdolecekvers.c: ${VERSIONFILE}
841.26Sjdolecek	sh ${S}conf/newvers_stand.sh ${.ALLSRC} 'i386' ${NEWVERSWHAT}
851.7Sthorpej
861.32SthorpejCLEANFILES+= ${BASE}.sym
871.32Sthorpej${BASE}.sym: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386}
881.32Sthorpej	${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext ${RELOC} ${STARTFILE} ${OBJS} \
891.32Sthorpej	    ${LIBLIST} >${BASE}.list
901.32Sthorpej
911.32SthorpejCLEANFILES+= ${BASE}.rom
921.32Sthorpej${BASE}.rom: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386}
931.32Sthorpej	${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext ${RELOC} ${STARTFILE} ${OBJS} \
941.32Sthorpej	    ${LIBLIST} >${BASE}.list
951.32Sthorpej	${OBJCOPY} -O binary ${BASE}.sym ${BASE}.bin
961.32Sthorpej	${GENPROM} ${ROM_SIZE} < ${BASE}.bin > ${BASE}.rom || \
971.32Sthorpej	    rm -f ${BASE}.rom
981.9Sdrochner	rm -f ${BASE}.bin
991.9Sdrochner
1001.32SthorpejCLEANFILES+= ${BASE}.com
1011.32Sthorpej${BASE}.com: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386}
1021.32Sthorpej	${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext ${RELOC} ${STARTFILE} ${OBJS} \
1031.32Sthorpej	    ${LIBLIST} >${BASE}.list
1041.32Sthorpej	${OBJCOPY} -O binary ${BASE}.sym ${BASE}.com
1051.32Sthorpej
1061.32SthorpejCLEANFILES+= ${BASE}.bin
1071.32Sthorpej${BASE}.bin: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386}
1081.32Sthorpej	${LD} -o ${BASE}.sym ${LDFLAGS} -Ttext ${RELOC} ${STARTFILE} ${OBJS} \
1091.31Sthorpej	    ${LIBLIST} > ${BASE}.list
1101.32Sthorpej	${OBJCOPY} -O binary ${BASE}.sym ${BASE}.bin
1111.9Sdrochner
1121.9Sdrochner.include <bsd.prog.mk>
113