Makefile revision 1.31
11.31Spalle#	$NetBSD: Makefile,v 1.31 2013/12/08 14:41:28 palle Exp $
21.1Smrg
31.1SmrgCURDIR=	${.CURDIR}
41.1SmrgS=	${CURDIR}/../../../..
51.1Smrg
61.1Smrg#
71.1Smrg# Override normal settings
81.1Smrg#
91.1Smrg
101.29StsutsuiWARNS?=		2
111.30SmattKLINK_MACHINE=	sparc64
121.1Smrg
131.1SmrgPROG?=		ofwboot
141.1SmrgSRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
151.25SchristosSRCS+=		bootinfo.c loadfile_machdep.c promlib.c prf.c isfloppy.c
161.31Spalle.if ${MACHINE_ARCH} == "sparc64"
171.31SpalleSRCS+=		hvcall.S
181.31Spalle.endif
191.25Schristos.PATH:		${S}/arch/sparc64/sparc64 ${S}/arch/sparc/stand/common
201.1Smrg
211.13Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
221.13SsimonbLIBCRT0=
231.13SsimonbLIBC=
241.13SsimonbLIBCRTBEGIN=
251.13SsimonbLIBCRTEND=
261.13Ssimonb
271.8SthorpejCOPTS+=		-ffreestanding
281.1SmrgCWARNFLAGS+=	-Wno-main
291.2SmrgCFLAGS+=	${COPTS} ${CEXTRAFLAGS}
301.2SmrgCPPFLAGS+=	-D_STANDALONE -DSUN4U
311.31Spalle.if ${MACHINE_ARCH} == "sparc64"
321.31SpalleCPPFLAGS+=	-DSUN4V
331.31Spalle.endif
341.18ScdiCPPFLAGS+=	-DBOOT_ELF32 -DBOOT_ELF64 -DBOOT_AOUT
351.10SmrgCPPFLAGS+=	-DNETBOOT
361.14SchristosCPPFLAGS+=	-DSUPPORT_DHCP
371.1Smrg#CPPFLAGS+=	-DNETIF_DEBUG 
381.18Scdi#CPPFLAGS+=	-D_DEBUG
391.10Smrg
401.10SmrgLINKS+=		${BINDIR}/ofwboot ${BINDIR}/ofwboot.net
411.1Smrg
421.5StvNOMAN=		# defined
431.1SmrgSTRIPFLAG=
441.1SmrgBINMODE=	444
451.1Smrg
461.1SmrgNEWVERSWHAT=	"OpenFirmware Boot"
471.1Smrg
481.1Smrg#
491.1Smrg# Elf64 defaults to 1MB
501.1Smrg#
511.1Smrg# We may get address conflicts with other bootloaders, say
521.1Smrg# Sun's ufsboot, so we'll pick a reasonably empty address.
531.1Smrg#
541.18ScdiRELOC=		100000
551.1Smrg
561.1SmrgENTRY=		_start
571.1Smrg
581.1SmrgCPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
591.22StsutsuiCPPFLAGS+=	-I${CURDIR}/../../../../../common/include
601.1SmrgCPPFLAGS+=	-DRELOC=0x${RELOC}
611.1Smrg
621.1Smrg#
631.1Smrg# XXXXX FIXME
641.1Smrg#
651.1SmrgCPPFLAGS+=	-DSPARC_BOOT_AOUT
661.1SmrgCPPFLAGS+=	-DSPARC_BOOT_ELF
671.1SmrgCPPFLAGS+=	-DSPARC_BOOT_UFS
681.1SmrgCPPFLAGS+=	-DSPARC_BOOT_NFS
691.23SmartinCPPFLAGS+=	-DSPARC_BOOT_CD9660
701.1Smrg
711.1Smrg### find out what to use for libkern
721.1SmrgKERN_AS=	library
731.1Smrg.include "${S}/lib/libkern/Makefile.inc"
741.1SmrgLIBKERN=	${KERNLIB}
751.1Smrg
761.1Smrg### find out what to use for libz
771.1SmrgZ_AS=		library
781.1Smrg.include "${S}/lib/libz/Makefile.inc"
791.1SmrgLIBZ=		${ZLIB}
801.1Smrg
811.1Smrg### find out what to use for libsa
821.1SmrgSA_AS=		library
831.18ScdiSAMISCMAKEFLAGS= SA_USE_LOADFILE=yes SA_USE_CREAD=yes
841.20SmartinSAMISCCPPFLAGS+= -DCOMPAT_SOLARIS_UFS
851.1Smrg.include "${S}/lib/libsa/Makefile.inc"
861.1SmrgLIBSA=		${SALIB}
871.1Smrg
881.28Snakayama.include <bsd.own.mk>
891.30Smatt.include <bsd.klinks.mk>
901.28Snakayama
911.1Smrgvers.c: version
921.27Sjoerg	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
931.27Sjoerg	    ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
941.1Smrg
951.18ScdiCLEANFILES+= vers.c
961.18Scdi
971.1Smrg.if CROSS
981.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
991.30Smatt	${_MKTARGET_LINK}
1001.1Smrg	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
1011.1Smrg	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
1021.1Smrg.else
1031.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1041.30Smatt	${_MKTARGET_LINK}
1051.1Smrg	${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
1061.1Smrg	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
1071.1Smrg.endif
1081.1Smrg
1091.1Smrg.include <bsd.prog.mk>
1101.1Smrg
1111.2Smrg.if ${MACHINE_ARCH} == "sparc64"
1121.2SmrgAFLAGS+=		-Wa,-Av9a
1131.2SmrgCEXTRAFLAGS?=		-D_LP64
1141.2Smrg.else
1151.2SmrgAFLAGS+=		-Wa,-Av8plusa
1161.2Smrg.endif
1171.2Smrg
1181.1Smrg.if CROSS
1191.26SjoergAFLAGS+=		-x assembler-with-cpp -D_LOCORE -D__ELF__
1201.2SmrgCEXTRAFLAGS?=		-D_LP64
1211.1Smrg.else
1221.26SjoergAFLAGS+=		-x assembler-with-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS}
1231.1Smrg.endif
1241.2Smrg
1251.1SmrgNORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
1261.1Smrgsrt0.o: srt0.s
1271.1Smrg	${NORMAL_S}
1281.1Smrg
1291.31Spallehvcall.o: hvcall.S
1301.31Spalle	${NORMAL_S}
1311.31Spalle
1321.31Spalle
1331.1Smrg# Explicit dependency for this.
1341.18Scdiboot.o: boot.c
135