Makefile revision 1.4
11.4Stsutsui#	$NetBSD: Makefile,v 1.4 2008/02/23 05:43:27 tsutsui Exp $
21.1Ssekiya
31.1SsekiyaPROG=	ip30boot
41.1Ssekiya
51.1SsekiyaSRCS=	start64.S boot.c bootinfo.c conf.c devopen.c putchar.c getchar.c \
61.1Ssekiya	getopt.c disk.c
71.1Ssekiya
81.1SsekiyaCLEANFILES+=	boot.map
91.1Ssekiya
101.1Ssekiya.include <bsd.sys.mk>		# for HOST_SH
111.1Ssekiya
121.1Ssekiya# $S must correspond to the top of the 'sys' tree
131.1SsekiyaS=	${.CURDIR}/../../../..
141.1Ssekiya
151.1SsekiyaBINMODE?=	444
161.1Ssekiya
171.1Ssekiyarealall: ${PROG}
181.1Ssekiya
191.1Ssekiya.PATH:		${.CURDIR}/../common
201.1SsekiyaAFLAGS+=	-D_LOCORE -D_KERNEL -mno-abicalls -mabi=64 -D_LP64
211.1SsekiyaCPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -I${.OBJDIR} -I${S}
221.1Ssekiya# compiler flags for smallest code size
231.1SsekiyaCFLAGS=		-ffreestanding -Os -Wall -Werror -mno-abicalls -msoft-float -G 1024 -mabi=64 -D_LP64
241.1SsekiyaLDBUG=		-T $S/arch/mips/conf/stand.ldscript
251.1SsekiyaNETBSD_VERS!=	${HOST_SH} ${.CURDIR}/../../../../conf/osrelease.sh
261.1SsekiyaCPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
271.1Ssekiya
281.1SsekiyaCPPFLAGS+=	-Dsgimips
291.1Ssekiya
301.1Ssekiya# PROG set by parent.
311.1SsekiyaNOMAN=		# defined
321.1Ssekiya
331.1Ssekiya# We load the kernel at 420K in from the start of RAM to give the boot
341.1Ssekiya# loader plenty of breathing room.  Load the boot loader starting at
351.1Ssekiya# the second page of RAM.
361.1Ssekiya
371.1SsekiyaLOAD_ADDRESS_IP30?=	0xa800000020080000
381.1Ssekiya
391.1Ssekiya# if there is a 'version' file, add rule for vers.c and add it to SRCS
401.1Ssekiya# and CLEANFILES
411.1Ssekiya.if exists(version)
421.1Ssekiya.PHONY: vers.c
431.1Ssekiyavers.c: ${.CURDIR}/version
441.1Ssekiya	${HOST_SH} ${S}/conf/newvers_stand.sh -N ${.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.if !make(obj) && !make(clean) && !make(cleandir)
701.1Ssekiya.BEGIN:
711.1Ssekiya	@([ -h machine ] || ln -s ${S}/arch/${MACHINE}/include machine)
721.1Ssekiya	@([ -h mips ] || ln -s ${S}/arch/mips/include mips)
731.1Ssekiya.NOPATH: machine mips
741.1Ssekiya.endif
751.1SsekiyaCLEANFILES+= machine mips
761.1Ssekiya
771.1Ssekiya
781.1SsekiyaLIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
791.1Ssekiya
801.1Ssekiyaip30boot: ${OBJS} ${LIBS}
811.2Sskrll	${LD} -m elf64btsmip -Map boot.map -x -Ttext ${LOAD_ADDRESS_IP30} \
821.4Stsutsui		${LDBUG} -e start -o ${.TARGET} ${OBJS} ${LIBS}
831.1Ssekiya
841.1Ssekiya.include <bsd.prog.mk>
85