Makefile revision 1.9
11.9Sjoerg#	$NetBSD: Makefile,v 1.9 2011/01/23 13:18:02 joerg Exp $
21.1Ssekiya
31.1SsekiyaPROG=	ip30boot
41.9SjoergNOMAN=	# defined
51.1Ssekiya
61.1SsekiyaSRCS=	start64.S boot.c bootinfo.c conf.c devopen.c putchar.c getchar.c \
71.1Ssekiya	getopt.c disk.c
81.1Ssekiya
91.1SsekiyaCLEANFILES+=	boot.map
101.1Ssekiya
111.8Sjoerg.include <bsd.own.mk>
121.1Ssekiya.include <bsd.sys.mk>		# for HOST_SH
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.1SsekiyaAFLAGS+=	-D_LOCORE -D_KERNEL -mno-abicalls -mabi=64 -D_LP64
231.1SsekiyaCPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -I${.OBJDIR} -I${S}
241.1Ssekiya# compiler flags for smallest code size
251.1SsekiyaCFLAGS=		-ffreestanding -Os -Wall -Werror -mno-abicalls -msoft-float -G 1024 -mabi=64 -D_LP64
261.1SsekiyaLDBUG=		-T $S/arch/mips/conf/stand.ldscript
271.1SsekiyaNETBSD_VERS!=	${HOST_SH} ${.CURDIR}/../../../../conf/osrelease.sh
281.1SsekiyaCPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
291.1Ssekiya
301.1SsekiyaCPPFLAGS+=	-Dsgimips
311.1Ssekiya
321.1Ssekiya# We load the kernel at 420K in from the start of RAM to give the boot
331.1Ssekiya# loader plenty of breathing room.  Load the boot loader starting at
341.1Ssekiya# the second page of RAM.
351.1Ssekiya
361.1SsekiyaLOAD_ADDRESS_IP30?=	0xa800000020080000
371.1Ssekiya
381.1Ssekiya# if there is a 'version' file, add rule for vers.c and add it to SRCS
391.1Ssekiya# and CLEANFILES
401.1Ssekiya.if exists(version)
411.1Ssekiya.PHONY: vers.c
421.1Ssekiyavers.c: ${.CURDIR}/version
431.8Sjoerg	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
441.8Sjoerg	    ${.CURDIR}/version "sgimips"
451.1Ssekiya
461.1SsekiyaSRCS+=	vers.c
471.1SsekiyaCLEANFILES+= vers.c
481.1Ssekiya.endif
491.1Ssekiya
501.1Ssekiya### find out what to use for libkern
511.1SsekiyaKERN_AS=	library
521.2SskrllKERNMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
531.1Ssekiya.include "${S}/lib/libkern/Makefile.inc"
541.1SsekiyaLIBKERN=	${KERNLIB}
551.1Ssekiya
561.1Ssekiya### find out what to use for libz
571.1SsekiyaZ_AS=		library
581.2SskrllZMISCMAKEFLAGS+=	LD="${LD} -m elf64btsmip" RANLIB="true"
591.1Ssekiya.include "${S}/lib/libz/Makefile.inc"
601.1SsekiyaLIBZ=		${ZLIB}
611.1Ssekiya
621.1Ssekiya### find out what to use for libsa
631.1SsekiyaSA_AS=		library
641.1SsekiyaSAMISCMAKEFLAGS+=	SA_USE_LOADFILE=yes SA_USE_CREAD=yes \
651.2Sskrll			LD="${LD} -m elf64btsmip" RANLIB="true"
661.1Ssekiya.include "${S}/lib/libsa/Makefile.inc"
671.1SsekiyaLIBSA=		${SALIB}
681.1Ssekiya
691.1Ssekiya
701.1SsekiyaLIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
711.1Ssekiya
721.1Ssekiyaip30boot: ${OBJS} ${LIBS}
731.2Sskrll	${LD} -m elf64btsmip -Map boot.map -x -Ttext ${LOAD_ADDRESS_IP30} \
741.4Stsutsui		${LDBUG} -e start -o ${.TARGET} ${OBJS} ${LIBS}
751.1Ssekiya
761.7Sdhollandcleandir distclean: .WAIT cleanlibdir
771.6Stsutsuicleanlibdir:
781.6Stsutsui	-rm -rf lib
791.6Stsutsui
801.6Stsutsui.include <bsd.klinks.mk>
811.1Ssekiya.include <bsd.prog.mk>
82