11.15Srin#	$NetBSD: Makefile,v 1.15 2024/06/29 08:06:56 rin Exp $
21.1Ssekiya
31.1SsekiyaPROG=	ip30boot
41.9SjoergNOMAN=	# defined
51.1Ssekiya
61.10SmattSRCS=	start.S boot.c bootinfo.c conf.c devopen.c putchar.c getchar.c \
71.15Srin	disk.c arcbios_calls.S
81.10Smatt
91.1Ssekiya
101.1SsekiyaCLEANFILES+=	boot.map
111.1Ssekiya
121.13Schristos.include <bsd.init.mk>
131.1Ssekiya
141.1Ssekiya# $S must correspond to the top of the 'sys' tree
151.1SsekiyaS=	${.CURDIR}/../../../..
161.1Ssekiya
171.1SsekiyaBINMODE?=	444
181.1Ssekiya
191.1Ssekiyarealall: ${PROG}
201.1Ssekiya
211.1Ssekiya.PATH:		${.CURDIR}/../common
221.10Smatt.PATH.S:	${S}/dev/arcbios
231.1SsekiyaAFLAGS+=	-D_LOCORE -D_KERNEL -mno-abicalls -mabi=64 -D_LP64
241.1SsekiyaCPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -I${.OBJDIR} -I${S}
251.1Ssekiya# compiler flags for smallest code size
261.1SsekiyaCFLAGS=		-ffreestanding -Os -Wall -Werror -mno-abicalls -msoft-float -G 1024 -mabi=64 -D_LP64
271.1SsekiyaLDBUG=		-T $S/arch/mips/conf/stand.ldscript
281.1SsekiyaNETBSD_VERS!=	${HOST_SH} ${.CURDIR}/../../../../conf/osrelease.sh
291.1SsekiyaCPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
301.1Ssekiya
311.1SsekiyaCPPFLAGS+=	-Dsgimips
321.1Ssekiya
331.11SmattLDFLAGS+=       -m elf64btsmip
341.11SmattLINKFORMAT+=    -m elf64btsmip
351.10Smatt
361.10Smatt.include "${S}/dev/arcbios/Makefile.inc"
371.10Smatt
381.1Ssekiya# We load the kernel at 420K in from the start of RAM to give the boot
391.1Ssekiya# loader plenty of breathing room.  Load the boot loader starting at
401.1Ssekiya# the second page of RAM.
411.1Ssekiya
421.1SsekiyaLOAD_ADDRESS_IP30?=	0xa800000020080000
431.1Ssekiya
441.1Ssekiya### find out what to use for libkern
451.1SsekiyaKERN_AS=	library
461.2SskrllKERNMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
471.1Ssekiya.include "${S}/lib/libkern/Makefile.inc"
481.1SsekiyaLIBKERN=	${KERNLIB}
491.1Ssekiya
501.1Ssekiya### find out what to use for libz
511.1SsekiyaZ_AS=		library
521.2SskrllZMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
531.1Ssekiya.include "${S}/lib/libz/Makefile.inc"
541.1SsekiyaLIBZ=		${ZLIB}
551.1Ssekiya
561.1Ssekiya### find out what to use for libsa
571.1SsekiyaSA_AS=		library
581.1SsekiyaSAMISCMAKEFLAGS+=	SA_USE_LOADFILE=yes SA_USE_CREAD=yes \
591.2Sskrll			LD="${LD} -m elf64btsmip" RANLIB="true"
601.1Ssekiya.include "${S}/lib/libsa/Makefile.inc"
611.1SsekiyaLIBSA=		${SALIB}
621.1Ssekiya
631.1Ssekiya
641.1SsekiyaLIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
651.1Ssekiya
661.1Ssekiyaip30boot: ${OBJS} ${LIBS}
671.10Smatt	${_MKTARGET_LINK}
681.2Sskrll	${LD} -m elf64btsmip -Map boot.map -x -Ttext ${LOAD_ADDRESS_IP30} \
691.4Stsutsui		${LDBUG} -e start -o ${.TARGET} ${OBJS} ${LIBS}
701.10Smatt	${SIZE} ${.TARGET}
711.1Ssekiya
721.7Sdhollandcleandir distclean: .WAIT cleanlibdir
731.6Stsutsuicleanlibdir:
741.6Stsutsui	-rm -rf lib
751.6Stsutsui
761.14Schristos.include "${S}/conf/newvers_stand.mk"
771.14Schristos
781.6Stsutsui.include <bsd.klinks.mk>
791.1Ssekiya.include <bsd.prog.mk>
80