Makefile revision 1.27
11.27Sjoerg#	$NetBSD: Makefile,v 1.27 2011/01/22 19:19:24 joerg Exp $
21.1Smrg
31.1SmrgCURDIR=	${.CURDIR}
41.1SmrgS=	${CURDIR}/../../../..
51.1Smrg
61.27Sjoerg.include <bsd.own.mk>
71.27Sjoerg
81.1Smrg#
91.1Smrg# Override normal settings
101.1Smrg#
111.1Smrg
121.1SmrgWARNS=		0
131.1Smrg
141.1SmrgPROG?=		ofwboot
151.1SmrgSRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
161.25SchristosSRCS+=		bootinfo.c loadfile_machdep.c promlib.c prf.c isfloppy.c
171.25Schristos.PATH:		${S}/arch/sparc64/sparc64 ${S}/arch/sparc/stand/common
181.1Smrg
191.13Ssimonb# XXX SHOULD NOT NEED TO DEFINE THESE!
201.13SsimonbLIBCRT0=
211.13SsimonbLIBC=
221.13SsimonbLIBCRTBEGIN=
231.13SsimonbLIBCRTEND=
241.13Ssimonb
251.8SthorpejCOPTS+=		-ffreestanding
261.1SmrgCWARNFLAGS+=	-Wno-main
271.2SmrgCFLAGS+=	${COPTS} ${CEXTRAFLAGS}
281.2SmrgCPPFLAGS+=	-D_STANDALONE -DSUN4U
291.18ScdiCPPFLAGS+=	-DBOOT_ELF32 -DBOOT_ELF64 -DBOOT_AOUT
301.10SmrgCPPFLAGS+=	-DNETBOOT
311.14SchristosCPPFLAGS+=	-DSUPPORT_DHCP
321.1Smrg#CPPFLAGS+=	-DNETIF_DEBUG 
331.18Scdi#CPPFLAGS+=	-D_DEBUG
341.10Smrg
351.10SmrgLINKS+=		${BINDIR}/ofwboot ${BINDIR}/ofwboot.net
361.1Smrg
371.5StvNOMAN=		# defined
381.1SmrgSTRIPFLAG=
391.1SmrgBINMODE=	444
401.1Smrg
411.1SmrgNEWVERSWHAT=	"OpenFirmware Boot"
421.1Smrg
431.1Smrg#
441.1Smrg# Elf64 defaults to 1MB
451.1Smrg#
461.1Smrg# We may get address conflicts with other bootloaders, say
471.1Smrg# Sun's ufsboot, so we'll pick a reasonably empty address.
481.1Smrg#
491.18ScdiRELOC=		100000
501.1Smrg
511.1SmrgENTRY=		_start
521.1Smrg
531.1SmrgCPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
541.22StsutsuiCPPFLAGS+=	-I${CURDIR}/../../../../../common/include
551.1SmrgCPPFLAGS+=	-DRELOC=0x${RELOC}
561.1Smrg
571.1Smrg#
581.1Smrg# XXXXX FIXME
591.1Smrg#
601.1SmrgCPPFLAGS+=	-DSPARC_BOOT_AOUT
611.1SmrgCPPFLAGS+=	-DSPARC_BOOT_ELF
621.1SmrgCPPFLAGS+=	-DSPARC_BOOT_UFS
631.1SmrgCPPFLAGS+=	-DSPARC_BOOT_NFS
641.23SmartinCPPFLAGS+=	-DSPARC_BOOT_CD9660
651.1Smrg
661.1Smrg### find out what to use for libkern
671.1SmrgKERN_AS=	library
681.1Smrg.include "${S}/lib/libkern/Makefile.inc"
691.1SmrgLIBKERN=	${KERNLIB}
701.1Smrg
711.1Smrg### find out what to use for libz
721.1SmrgZ_AS=		library
731.1Smrg.include "${S}/lib/libz/Makefile.inc"
741.1SmrgLIBZ=		${ZLIB}
751.1Smrg
761.1Smrg### find out what to use for libsa
771.1SmrgSA_AS=		library
781.18ScdiSAMISCMAKEFLAGS= SA_USE_LOADFILE=yes SA_USE_CREAD=yes
791.20SmartinSAMISCCPPFLAGS+= -DCOMPAT_SOLARIS_UFS
801.1Smrg.include "${S}/lib/libsa/Makefile.inc"
811.1SmrgLIBSA=		${SALIB}
821.1Smrg
831.17Suwe.if !make(obj) && !make(clean) && !make(cleandir)
841.17Suwe.BEGIN:
851.17Suwe	@([ -h machine ] || ln -s ${S}/arch/sparc64/include machine)
861.17Suwe	@([ -h sparc64 ] || ln -s ${S}/arch/sparc64/include sparc64)
871.17Suwe	@([ -h sparc ] || ln -s ${S}/arch/sparc/include sparc)
881.11Smartin.NOPATH: machine sparc64 sparc
891.17Suwe.endif
901.17SuweCLEANFILES+= machine sparc64 sparc
911.11Smartin
921.24Sdhollandcleandir distclean: .WAIT cleanlibdir
931.7Snakayama
941.7Snakayamacleanlibdir:
951.12Sjmc	-rm -rf lib
961.1Smrg
971.1Smrgvers.c: version
981.27Sjoerg	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
991.27Sjoerg	    ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
1001.1Smrg
1011.18ScdiCLEANFILES+= vers.c
1021.18Scdi
1031.1Smrg.if CROSS
1041.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1051.1Smrg	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
1061.1Smrg	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
1071.1Smrg.else
1081.1Smrg${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1091.1Smrg	${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
1101.1Smrg	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
1111.1Smrg.endif
1121.1Smrg
1131.1Smrg.include <bsd.prog.mk>
1141.1Smrg
1151.2Smrg.if ${MACHINE_ARCH} == "sparc64"
1161.2SmrgAFLAGS+=		-Wa,-Av9a
1171.2SmrgCEXTRAFLAGS?=		-D_LP64
1181.2Smrg.else
1191.2SmrgAFLAGS+=		-Wa,-Av8plusa
1201.2Smrg.endif
1211.2Smrg
1221.1Smrg.if CROSS
1231.26SjoergAFLAGS+=		-x assembler-with-cpp -D_LOCORE -D__ELF__
1241.2SmrgCEXTRAFLAGS?=		-D_LP64
1251.1Smrg.else
1261.26SjoergAFLAGS+=		-x assembler-with-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS}
1271.1Smrg.endif
1281.2Smrg
1291.1SmrgNORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
1301.1Smrgsrt0.o: srt0.s
1311.1Smrg	${NORMAL_S}
1321.1Smrg
1331.1Smrg# Explicit dependency for this.
1341.18Scdiboot.o: boot.c
135