11.25Stsutsui# $NetBSD: Makefile.booters,v 1.25 2019/01/12 16:44:47 tsutsui Exp $
21.19Sjoerg
31.19Sjoerg# PROG set by parent.
41.19SjoergNOMAN=		# defined
51.23SchristosNOPIE=		# defined
61.10Slukem
71.23Schristos.include <bsd.init.mk>
81.10Slukem.include <bsd.sys.mk>		# for HOST_SH
91.1Sthorpej
101.1Sthorpej# $S must correspond to the top of the 'sys' tree
111.1SthorpejS=	${.CURDIR}/../../../..
121.1Sthorpej
131.2SthorpejBINMODE?=	444
141.9Ssimonb
151.9Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
161.9SsimonbLIBCRT0=
171.22StsutsuiLIBCRTI=
181.9SsimonbLIBC=
191.9SsimonbLIBCRTBEGIN=
201.9SsimonbLIBCRTEND=
211.2Sthorpej
221.12Ssekiyarealall: ${PROG}
231.1Sthorpej
241.1Sthorpej.PATH:		${.CURDIR}/../common
251.25Stsutsui.if !defined(PRE_ARCS)
261.20Smatt.PATH.S:	${S}/dev/arcbios
271.25Stsutsui.endif
281.7SthorpejAFLAGS+=	-D_LOCORE -D_KERNEL -mno-abicalls
291.1SthorpejCPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -I${.OBJDIR} -I${S}
301.1Sthorpej# compiler flags for smallest code size
311.11SsekiyaCFLAGS=		-ffreestanding -Os -Wall -Werror -mno-abicalls -msoft-float -G 1024
321.17Smatt.if ${MACHINE_ARCH} == "mips64eb"
331.21SmattAFLAGS+=	-mips3 -mabi=32
341.21SmattCFLAGS+=	-mips3 -mabi=32
351.17Smatt.endif
361.17SmattCWARNFLAGS+=	-Wall -Werror
371.17SmattCWARNFLAGS+=	-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
381.17SmattCWARNFLAGS+=	-Wno-pointer-sign
391.1SthorpejLDBUG=		-T $S/arch/mips/conf/stand.ldscript
401.10SlukemNETBSD_VERS!=	${HOST_SH} ${.CURDIR}/../../../../conf/osrelease.sh
411.1SthorpejCPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
421.6Sthorpej
431.6SthorpejCPPFLAGS+=	-Dsgimips
441.1Sthorpej
451.25Stsutsui.if !defined(PRE_ARCS)
461.20Smatt.include "${S}/dev/arcbios/Makefile.inc"
471.25Stsutsui.endif
481.20Smatt
491.3Ssoren# We load the kernel at 420K in from the start of RAM to give the boot
501.2Sthorpej# loader plenty of breathing room.  Load the boot loader starting at
511.2Sthorpej# the second page of RAM.
521.8Spooka# A warm thank-you to SGI for making load addresses different :)
531.2SthorpejLOAD_ADDRESS?=		0x88002000
541.25StsutsuiLOAD_ADDRESS_IP12?=	0x80368000
551.8SpookaLOAD_ADDRESS_IP32?=	0x80002000
561.2Sthorpej
571.24Schristos.include "${S}/conf/newvers_stand.mk"
581.1Sthorpej
591.1Sthorpej### find out what to use for libkern
601.1SthorpejKERN_AS=	library
611.1Sthorpej.include "${S}/lib/libkern/Makefile.inc"
621.1SthorpejLIBKERN=	${KERNLIB}
631.1Sthorpej
641.1Sthorpej### find out what to use for libz
651.1SthorpejZ_AS=		library
661.1Sthorpej.include "${S}/lib/libz/Makefile.inc"
671.1SthorpejLIBZ=		${ZLIB}
681.1Sthorpej
691.1Sthorpej### find out what to use for libsa
701.1SthorpejSA_AS=		library
711.1SthorpejSAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes
721.1Sthorpej# for now:
731.1SthorpejSAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
741.1Sthorpej.include "${S}/lib/libsa/Makefile.inc"
751.1SthorpejLIBSA=		${SALIB}
761.12Ssekiya
771.1Sthorpej
781.1SthorpejLIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
791.1Sthorpej
801.16Stsutsui.include <bsd.klinks.mk>
811.1Sthorpej.include <bsd.prog.mk>
82