Makefile revision 1.11
11.11Smatt#	$NetBSD: Makefile,v 1.11 2011/02/25 23:37:32 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.11SmattLDFLAGS+=       -m elf64btsmip
351.11SmattLINKFORMAT+=    -m elf64btsmip
361.10Smatt
371.10Smatt.include "${S}/dev/arcbios/Makefile.inc"
381.10Smatt
391.1Ssekiya# We load the kernel at 420K in from the start of RAM to give the boot
401.1Ssekiya# loader plenty of breathing room.  Load the boot loader starting at
411.1Ssekiya# the second page of RAM.
421.1Ssekiya
431.1SsekiyaLOAD_ADDRESS_IP30?=	0xa800000020080000
441.1Ssekiya
451.1Ssekiya# if there is a 'version' file, add rule for vers.c and add it to SRCS
461.1Ssekiya# and CLEANFILES
471.1Ssekiya.if exists(version)
481.1Ssekiya.PHONY: vers.c
491.1Ssekiyavers.c: ${.CURDIR}/version
501.8Sjoerg	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
511.8Sjoerg	    ${.CURDIR}/version "sgimips"
521.1Ssekiya
531.1SsekiyaSRCS+=	vers.c
541.1SsekiyaCLEANFILES+= vers.c
551.1Ssekiya.endif
561.1Ssekiya
571.1Ssekiya### find out what to use for libkern
581.1SsekiyaKERN_AS=	library
591.2SskrllKERNMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
601.1Ssekiya.include "${S}/lib/libkern/Makefile.inc"
611.1SsekiyaLIBKERN=	${KERNLIB}
621.1Ssekiya
631.1Ssekiya### find out what to use for libz
641.1SsekiyaZ_AS=		library
651.2SskrllZMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
661.1Ssekiya.include "${S}/lib/libz/Makefile.inc"
671.1SsekiyaLIBZ=		${ZLIB}
681.1Ssekiya
691.1Ssekiya### find out what to use for libsa
701.1SsekiyaSA_AS=		library
711.1SsekiyaSAMISCMAKEFLAGS+=	SA_USE_LOADFILE=yes SA_USE_CREAD=yes \
721.2Sskrll			LD="${LD} -m elf64btsmip" RANLIB="true"
731.1Ssekiya.include "${S}/lib/libsa/Makefile.inc"
741.1SsekiyaLIBSA=		${SALIB}
751.1Ssekiya
761.1Ssekiya
771.1SsekiyaLIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
781.1Ssekiya
791.1Ssekiyaip30boot: ${OBJS} ${LIBS}
801.10Smatt	${_MKTARGET_LINK}
811.2Sskrll	${LD} -m elf64btsmip -Map boot.map -x -Ttext ${LOAD_ADDRESS_IP30} \
821.4Stsutsui		${LDBUG} -e start -o ${.TARGET} ${OBJS} ${LIBS}
831.10Smatt	${SIZE} ${.TARGET}
841.1Ssekiya
851.7Sdhollandcleandir distclean: .WAIT cleanlibdir
861.6Stsutsuicleanlibdir:
871.6Stsutsui	-rm -rf lib
881.6Stsutsui
891.6Stsutsui.include <bsd.klinks.mk>
901.1Ssekiya.include <bsd.prog.mk>
91