Makefile.buildboot revision 1.38
11.38Schristos#	$NetBSD: Makefile.buildboot,v 1.38 2024/02/08 18:10:34 christos Exp $
21.13Ssimonb
31.13Ssimonb# RELOC=FFF00000 allows for boot prog up to FF000 (1044480) bytes long
41.13SsimonbRELOC=	FFF00000
51.1Sthorpej
61.1SthorpejS=		${.CURDIR}/../../../..
71.1Sthorpej
81.1Sthorpej.PATH: ${.CURDIR}/../common
91.1Sthorpej
101.1SthorpejPROG=		${PROGAOUT}.lif
111.24StsutsuiWARNS?=		1
121.1Sthorpej
131.1SthorpejSRCS=		${COMMONSOURCE} ${DRIVERSOURCE} ${PROGSOURCE}
141.18StvNOMAN=		# defined
151.3SthorpejSTRIPFLAG=
161.1SthorpejBINMODE=	444
171.1Sthorpej
181.36SchristosCLEANFILES+=	${PROGAOUT}
191.1Sthorpej
201.10SfrueaufCPPFLAGS+=	-I${.CURDIR}/../../.. -I${.CURDIR}/../../../..  -I${.OBJDIR}
211.13SsimonbCPPFLAGS+=	-Wno-main
221.23StsutsuiCPPFLAGS+=	-D__daddr_t=int32_t
231.37StsutsuiCFLAGS=		-Os -fno-unwind-tables -msoft-float -ffreestanding
241.1Sthorpej
251.21Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
261.21SsimonbLIBCRT0=
271.33StsutsuiLIBCRTI=
281.21SsimonbLIBC=
291.21SsimonbLIBCRTBEGIN=
301.21SsimonbLIBCRTEND=
311.12Ssimonb
321.38Schristos.if ${MKREPRO_TIMESTAMP:Uno} != "no"
331.38SchristosHP300MKBOOT_TIMESTAMP=-t "${MKREPRO_TIMESTAMP}"
341.38Schristos.endif
351.38Schristos
361.25Sjmc${PROG}: ${PROGAOUT}
371.15Sgmcgarry	${OBJCOPY} --output-target=binary ${PROGAOUT} ${PROGAOUT}.bin
381.38Schristos	${TOOL_HP300MKBOOT} -l 0x${RELOC} ${HP300MKBOOT_TIMESTAMP} ${PROGAOUT}.bin ${PROG}
391.15Sgmcgarry	rm -f ${PROGAOUT}.bin
401.13Ssimonb
411.36Schristos.include "${S}/conf/newvers_stand.mk"
421.36Schristos
431.13SsimonbCPPFLAGS+=		-DDCACONSOLE -DAPCICONSOLE -DITECONSOLE -DDCMCONSOLE
441.13SsimonbCPPFLAGS+=		-DHIL_KEYBOARD -DUK_KEYBOARD
451.13SsimonbCPPFLAGS+=		-DDOMAIN_KEYBOARD
461.13SsimonbCPPFLAGS+=		-D_STANDALONE -DCOMPAT_NOLABEL -Dhp300
471.13SsimonbCPPFLAGS+=		-DCOMPAT_UFS -DNO_LSEEK
481.35StsutsuiCPPFLAGS+=		-DLIBSA_CREAD_NOCRC
491.17Sgmcgarry
501.17Sgmcgarry# if sun bootparams is desired
511.17Sgmcgarry#CPPFLAGS+=     -DSUN_BOOTPARAMS
521.13Ssimonb
531.13Ssimonb# Limit the alloc() heap to below the msgbuf and ROM scratch pages.
541.13SsimonbCPPFLAGS+=		-DHEAP_LIMIT="0xffffdfff"
551.13Ssimonb
561.13SsimonbCOMMONSOURCE=		srt0.S autoconf.c clock.c conf.c cons.c devopen.c \
571.19Sgmcgarry			exec.c machdep.c prf.c rawfs.c netio.c
581.13SsimonbDRIVERSOURCE=		apci.c ct.c dca.c dcm.c dnkbd.c fhpib.c hil.c \
591.32Stsutsui			hpib.c if_le.c ite.c ite_dumb.c ite_dv.c ite_gb.c \
601.32Stsutsui			ite_hy.c ite_rb.c ite_subr.c ite_tc.c ite_tvrx.c \
611.34Stsutsui			ite_sti.c \
621.31Stsutsui			kbd.c kbdconf.c nhpib.c rd.c scsi.c sd.c
631.13Ssimonb
641.16Stv.include <bsd.own.mk>
651.28Stsutsui.include <bsd.klinks.mk>
661.1Sthorpej.include <bsd.prog.mk>
671.1Sthorpej
681.7Sthorpej### find out what to use for libkern
691.7SthorpejKERN_AS=	library
701.7Sthorpej.include "${S}/lib/libkern/Makefile.inc"
711.7SthorpejLIBKERN=	${KERNLIB}
721.7Sthorpej
731.2Sthorpej### find out what to use for libz
741.2SthorpejZ_AS=		library
751.2Sthorpej.include "${S}/lib/libz/Makefile.inc"
761.2SthorpejLIBZ=		${ZLIB}
771.2Sthorpej
781.1Sthorpej### find out what to use for libsa
791.1SthorpejSA_AS=		library
801.8SthorpejSAMISCMAKEFLAGS+="SA_USE_CREAD=yes"
811.8SthorpejSAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
821.1Sthorpej.include "${S}/lib/libsa/Makefile.inc"
831.1SthorpejLIBSA=		${SALIB}
841.1Sthorpej
851.7Sthorpej${PROGAOUT}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
861.12Ssimonb	${LD} -N -Ttext ${RELOC} -e begin -o ${PROGAOUT} \
871.12Ssimonb	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
881.14Sgmcgarry	@${SIZE} ${PROGAOUT}
891.1Sthorpej	@echo ${PROGAOUT} total size should not exceed 1044480 bytes
90