Makefile revision 1.10
11.10Smatt#	$NetBSD: Makefile,v 1.10 2011/02/20 07:59:52 matt 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.10Smatt	getopt.c disk.c arcbios_calls.S
81.10Smatt
91.1Ssekiya
101.1SsekiyaCLEANFILES+=	boot.map
111.1Ssekiya
121.8Sjoerg.include <bsd.own.mk>
131.1Ssekiya.include <bsd.sys.mk>		# for HOST_SH
141.1Ssekiya
151.1Ssekiya# $S must correspond to the top of the 'sys' tree
161.1SsekiyaS=	${.CURDIR}/../../../..
171.1Ssekiya
181.1SsekiyaBINMODE?=	444
191.1Ssekiya
201.1Ssekiyarealall: ${PROG}
211.1Ssekiya
221.1Ssekiya.PATH:		${.CURDIR}/../common
231.10Smatt.PATH.S:	${S}/dev/arcbios
241.1SsekiyaAFLAGS+=	-D_LOCORE -D_KERNEL -mno-abicalls -mabi=64 -D_LP64
251.1SsekiyaCPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -I${.OBJDIR} -I${S}
261.1Ssekiya# compiler flags for smallest code size
271.1SsekiyaCFLAGS=		-ffreestanding -Os -Wall -Werror -mno-abicalls -msoft-float -G 1024 -mabi=64 -D_LP64
281.1SsekiyaLDBUG=		-T $S/arch/mips/conf/stand.ldscript
291.1SsekiyaNETBSD_VERS!=	${HOST_SH} ${.CURDIR}/../../../../conf/osrelease.sh
301.1SsekiyaCPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
311.1Ssekiya
321.1SsekiyaCPPFLAGS+=	-Dsgimips
331.1Ssekiya
341.10SmattMACHINE_ARCH=	mips64eb
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# if there is a 'version' file, add rule for vers.c and add it to SRCS
451.1Ssekiya# and CLEANFILES
461.1Ssekiya.if exists(version)
471.1Ssekiya.PHONY: vers.c
481.1Ssekiyavers.c: ${.CURDIR}/version
491.8Sjoerg	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
501.8Sjoerg	    ${.CURDIR}/version "sgimips"
511.1Ssekiya
521.1SsekiyaSRCS+=	vers.c
531.1SsekiyaCLEANFILES+= vers.c
541.1Ssekiya.endif
551.1Ssekiya
561.1Ssekiya### find out what to use for libkern
571.1SsekiyaKERN_AS=	library
581.2SskrllKERNMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
591.1Ssekiya.include "${S}/lib/libkern/Makefile.inc"
601.1SsekiyaLIBKERN=	${KERNLIB}
611.1Ssekiya
621.1Ssekiya### find out what to use for libz
631.1SsekiyaZ_AS=		library
641.2SskrllZMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
651.1Ssekiya.include "${S}/lib/libz/Makefile.inc"
661.1SsekiyaLIBZ=		${ZLIB}
671.1Ssekiya
681.1Ssekiya### find out what to use for libsa
691.1SsekiyaSA_AS=		library
701.1SsekiyaSAMISCMAKEFLAGS+=	SA_USE_LOADFILE=yes SA_USE_CREAD=yes \
711.2Sskrll			LD="${LD} -m elf64btsmip" RANLIB="true"
721.1Ssekiya.include "${S}/lib/libsa/Makefile.inc"
731.1SsekiyaLIBSA=		${SALIB}
741.1Ssekiya
751.1Ssekiya
761.1SsekiyaLIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
771.1Ssekiya
781.1Ssekiyaip30boot: ${OBJS} ${LIBS}
791.10Smatt	${_MKTARGET_LINK}
801.2Sskrll	${LD} -m elf64btsmip -Map boot.map -x -Ttext ${LOAD_ADDRESS_IP30} \
811.4Stsutsui		${LDBUG} -e start -o ${.TARGET} ${OBJS} ${LIBS}
821.10Smatt	${SIZE} ${.TARGET}
831.1Ssekiya
841.7Sdhollandcleandir distclean: .WAIT cleanlibdir
851.6Stsutsuicleanlibdir:
861.6Stsutsui	-rm -rf lib
871.6Stsutsui
881.6Stsutsui.include <bsd.klinks.mk>
891.1Ssekiya.include <bsd.prog.mk>
90