Makefile revision 1.13
11.13Ssimonb#	$NetBSD: Makefile,v 1.13 2004/07/28 01:05:35 simonb Exp $
21.1Smrg
31.1SmrgCURDIR=	${.CURDIR}
41.1SmrgS=	${CURDIR}/../../../..
51.1Smrg
61.1Smrg#
71.1Smrg# Override normal settings
81.1Smrg#
91.1Smrg
101.1SmrgWARNS=		0
111.1Smrg
121.1SmrgPROG?=		ofwboot
131.1SmrgSRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
141.1Smrg.PATH:		${S}/arch/sparc64/sparc64
151.1Smrg
161.13Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
171.13SsimonbLIBCRT0=
181.13SsimonbLIBC=
191.13SsimonbLIBCRTBEGIN=
201.13SsimonbLIBCRTEND=
211.13Ssimonb
221.8SthorpejCOPTS+=		-ffreestanding
231.1SmrgCWARNFLAGS+=	-Wno-main
241.2SmrgCFLAGS+=	${COPTS} ${CEXTRAFLAGS}
251.2SmrgCPPFLAGS+=	-D_STANDALONE -DSUN4U
261.4SthorpejCPPFLAGS+=	-DBOOT_ELF32 -DBOOT_ELF64
271.10SmrgCPPFLAGS+=	-DNETBOOT
281.1Smrg#CPPFLAGS+=	-DNETIF_DEBUG 
291.10Smrg
301.10SmrgLINKS+=		${BINDIR}/ofwboot ${BINDIR}/ofwboot.net
311.1Smrg
321.5StvNOMAN=		# defined
331.1SmrgSTRIPFLAG=
341.1SmrgBINMODE=	444
351.1Smrg
361.1SmrgNEWVERSWHAT=	"OpenFirmware Boot"
371.1Smrg
381.1Smrg#
391.1Smrg# Elf64 defaults to 1MB
401.1Smrg#
411.1Smrg# We may get address conflicts with other bootloaders, say
421.1Smrg# Sun's ufsboot, so we'll pick a reasonably empty address.
431.1Smrg#
441.1SmrgRELOC=		800000
451.1Smrg
461.1SmrgENTRY=		_start
471.1Smrg
481.11SmartinCLEANFILES+=	vers.c sparc64 sparc machine
491.1Smrg
501.1SmrgCPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
511.1SmrgCPPFLAGS+=	-DRELOC=0x${RELOC}
521.1Smrg
531.1Smrg#
541.1Smrg# XXXXX FIXME
551.1Smrg#
561.1SmrgCPPFLAGS+=	-DSPARC_BOOT_AOUT
571.1SmrgCPPFLAGS+=	-DSPARC_BOOT_ELF
581.1SmrgCPPFLAGS+=	-DSPARC_BOOT_UFS
591.1SmrgCPPFLAGS+=	-DSPARC_BOOT_NFS
601.1Smrg#CPPFLAGS+=	-DSPARC_BOOT_HSFS
611.1Smrg
621.1Smrg### find out what to use for libkern
631.1SmrgKERN_AS=	library
641.1Smrg.include "${S}/lib/libkern/Makefile.inc"
651.1SmrgLIBKERN=	${KERNLIB}
661.1Smrg
671.1Smrg### find out what to use for libz
681.1SmrgZ_AS=		library
691.1Smrg.include "${S}/lib/libz/Makefile.inc"
701.1SmrgLIBZ=		${ZLIB}
711.1Smrg
721.1Smrg### find out what to use for libsa
731.1SmrgSA_AS=		library
741.1SmrgSAMISCMAKEFLAGS= SA_USE_CREAD=yes
751.1Smrg.include "${S}/lib/libsa/Makefile.inc"
761.1SmrgLIBSA=		${SALIB}
771.1Smrg
781.11Smartin.NOPATH: machine sparc64 sparc
791.11Smartin${SRCS}: machine sparc64 sparc
801.1Smrg
811.1Smrgmachine:
821.1Smrg	rm -f machine
831.2Smrg	ln -s sparc64 machine
841.1Smrg
851.2Smrgsparc64:
861.2Smrg	rm -f sparc64
871.2Smrg	ln -s ${.CURDIR}/../../../sparc64/include sparc64
881.7Snakayama
891.11Smartinsparc:
901.11Smartin	rm -f sparc
911.11Smartin	ln -s ${.CURDIR}/../../../sparc/include sparc
921.11Smartin
931.7Snakayamacleandir distclean: cleanlibdir
941.7Snakayama
951.7Snakayamacleanlibdir:
961.12Sjmc	-rm -rf lib
971.1Smrg
981.1Smrgvers.c: version
991.9Slukem	${HOST_SH} ${S}/conf/newvers_stand.sh ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
1001.1Smrg
1011.1Smrg.if CROSS
1021.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1031.1Smrg	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
1041.1Smrg	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
1051.1Smrg.else
1061.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1071.1Smrg	${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
1081.1Smrg	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
1091.1Smrg.endif
1101.1Smrg
1111.1Smrg.include <bsd.prog.mk>
1121.1Smrg
1131.2Smrg.if ${MACHINE_ARCH} == "sparc64"
1141.2SmrgAFLAGS+=		-Wa,-Av9a
1151.2SmrgCEXTRAFLAGS?=		-D_LP64
1161.2Smrg.else
1171.2SmrgAFLAGS+=		-Wa,-Av8plusa
1181.2Smrg.endif
1191.2Smrg
1201.1Smrg.if CROSS
1211.2SmrgAFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__
1221.2SmrgCEXTRAFLAGS?=		-D_LP64
1231.1Smrg.else
1241.2SmrgAFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS}
1251.1Smrg.endif
1261.2Smrg
1271.1SmrgNORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
1281.1Smrgsrt0.o: srt0.s
1291.1Smrg	${NORMAL_S}
1301.1Smrg
1311.1Smrg# Explicit dependency for this.
1321.1Smrgboot.o: boot.c elfXX_exec.c
133