Makefile revision 1.38
11.2Smatt#	$NetBSD: Makefile,v 1.38 2017/04/08 19:53:23 christos Exp $
21.1Smatt
31.1Smatt.include <bsd.init.mk>
41.1Smatt
51.1SmattCURDIR=	${.CURDIR}
61.1SmattS=	${CURDIR}/../../../..
71.1Smatt
81.1Smatt#
91.1Smatt# Override normal settings
101.1Smatt#
111.1Smatt
121.1SmattWARNS?=		2
131.1SmattKLINK_MACHINE=	sparc64
141.1Smatt
151.1SmattPROG?=		ofwboot
161.1SmattSRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c
171.1SmattSRCS+=		bootinfo.c loadfile_machdep.c promlib.c prf.c isfloppy.c
181.1Smatt.if ${MACHINE_ARCH} == "sparc64"
191.1SmattSRCS+=		hvcall.S
201.1SmattCPPFLAGS+=	-DSUN4V
211.1Smatt.endif
221.2Smatt.PATH:		${S}/arch/sparc64/sparc64 ${S}/arch/sparc/stand/common
231.2Smatt
241.2Smatt# XXX SHOULD NOT NEED TO DEFINE THESE!
251.2SmattLIBCRT0=
261.2SmattLIBCRTI=
271.2SmattLIBC=
281.1SmattLIBCRTBEGIN=
291.1SmattLIBCRTEND=
301.1Smatt
311.2SmattCOPTS+=		-ffreestanding -mcpu=v9
321.2SmattCWARNFLAGS+=	-Wno-main
331.1SmattCFLAGS+=	${COPTS}
341.2SmattCPPFLAGS+=	-D_STANDALONE
351.2SmattCPPFLAGS+=	-DBOOT_ELF32 -DBOOT_ELF64 -DBOOT_AOUT
361.2SmattCPPFLAGS+=	-DNETBOOT
371.2SmattCPPFLAGS+=	-DSUPPORT_DHCP
381.2Smatt#CPPFLAGS+=	-DNETIF_DEBUG 
391.2Smatt#CPPFLAGS+=	-D_DEBUG
401.2Smatt
411.2SmattLINKS+=		${BINDIR}/ofwboot ${BINDIR}/ofwboot.net
421.2Smatt
431.2SmattNOMAN=		# defined
441.2SmattSTRIPFLAG=
451.2SmattBINMODE=	444
461.2Smatt
471.2SmattNEWVERSWHAT=	"OpenFirmware Boot"
481.2Smatt
491.2Smatt#
501.2Smatt# Elf64 defaults to 1MB
511.2Smatt#
521.2Smatt# We may get address conflicts with other bootloaders, say
531.2Smatt# Sun's ufsboot, so we'll pick a reasonably empty address.
541.2Smatt#
551.2SmattRELOC=		100000
561.2Smatt
571.2SmattENTRY=		_start
581.2Smatt
591.2SmattCPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
601.2SmattCPPFLAGS+=	-I${CURDIR}/../../../../../common/include
611.2SmattCPPFLAGS+=	-DRELOC=0x${RELOC}
621.2Smatt
631.2Smatt#
641.2Smatt# XXXXX FIXME
651.2Smatt#
661.2SmattCPPFLAGS+=	-DSPARC_BOOT_AOUT
671.2SmattCPPFLAGS+=	-DSPARC_BOOT_ELF
681.2SmattCPPFLAGS+=	-DSPARC_BOOT_UFS
691.2SmattCPPFLAGS+=	-DSPARC_BOOT_NFS
701.2SmattCPPFLAGS+=	-DSPARC_BOOT_CD9660
711.2Smatt
721.2Smatt### find out what to use for libkern
731.2SmattKERN_AS=	library
741.2Smatt.include "${S}/lib/libkern/Makefile.inc"
751.2SmattLIBKERN=	${KERNLIB}
761.2Smatt
771.2Smatt### find out what to use for libz
781.2SmattZ_AS=		library
791.2Smatt.include "${S}/lib/libz/Makefile.inc"
801.2SmattLIBZ=		${ZLIB}
811.2Smatt
821.2Smatt### find out what to use for libsa
831.2SmattSA_AS=		library
841.2SmattSAMISCMAKEFLAGS= SA_USE_LOADFILE=yes SA_USE_CREAD=yes
851.2SmattSAMISCCPPFLAGS+= -DCOMPAT_SOLARIS_UFS
861.2Smatt.include "${S}/lib/libsa/Makefile.inc"
871.2SmattLIBSA=		${SALIB}
881.2Smatt
891.2Smatt.include "${S}/conf/newvers_stand.mk"
901.2Smatt
911.2Smatt.include <bsd.own.mk>
921.2Smatt.include <bsd.klinks.mk>
931.2Smatt
941.2Smatt.if CROSS
951.2Smatt${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
961.2Smatt	${_MKTARGET_LINK}
971.2Smatt	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
981.2Smatt	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
991.2Smatt.else
1001.2Smatt${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1011.2Smatt	${_MKTARGET_LINK}
1021.2Smatt	${LD} -X -N -S -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
1031.2Smatt	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
1041.2Smatt.endif
1051.2Smatt
1061.2Smatt.include <bsd.prog.mk>
1071.2Smatt
1081.2SmattCPUFLAGS+=		-mcpu=v9
1091.2SmattAFLAGS+=		-Wa,-Av9a
1101.2SmattAFLAGS+=		-x assembler-with-cpp -D_LOCORE -D__ELF__
1111.2Smatt
1121.2SmattNORMAL_S=	${CC} ${AFLAGS} ${AFLAGS.${<:T}}  ${CPPFLAGS} -c $<
1131.2Smattsrt0.o: srt0.s
1141.2Smatt	${NORMAL_S}
1151.2Smatt
1161.2Smatthvcall.o: hvcall.S
1171.2Smatt	${NORMAL_S}
1181.2Smatt
1191.2Smatt
1201.2Smatt# Explicit dependency for this.
1211.2Smattboot.o: boot.c
1221.2Smatt