11.2Sjmcneill# $NetBSD: Makefile,v 1.2 2025/11/22 11:21:46 jmcneill Exp $
21.1Sjmcneill
31.1SjmcneillS=		${.CURDIR}/../../../..
41.1SjmcneillPOWERPC=	${S}/arch/powerpc
51.1Sjmcneill
61.1SjmcneillPROG?=		ppcboot.elf
71.1SjmcneillNEWVERSWHAT=	"Wii MINI boot"
81.1Sjmcneill
91.1SjmcneillSRCS+=		start.S
101.1SjmcneillSRCS+=		boot.c
111.1SjmcneillSRCS+=		console.c
121.1SjmcneillSRCS+=		conf.c
131.1SjmcneillSRCS+=		devopen.c
141.1SjmcneillSRCS+=		gecko.c
151.1SjmcneillSRCS+=		gpio.c
161.1SjmcneillSRCS+=		miniipc.c
171.1SjmcneillSRCS+=		sdmmc.c
181.1SjmcneillSRCS+=		timer.c
191.1Sjmcneill
201.1SjmcneillNOMAN=		# defined
211.1SjmcneillNOSANITIZER=	# defined
221.1SjmcneillNORELRO=	# defined
231.1SjmcneillSTRIPFLAG=	# nothing
241.1Sjmcneill
251.1SjmcneillLIBCRT0=	# nothing
261.1SjmcneillLIBCRTI=	# nothing
271.1SjmcneillLIBCRTBEGIN=	# nothing
281.1SjmcneillLIBCRTEND=	# nothing
291.1SjmcneillLIBC=		# nothing
301.1Sjmcneill
311.1SjmcneillBINDIR=		/usr/mdec
321.1SjmcneillBINMODE=	444
331.1Sjmcneill
341.1Sjmcneill.include <bsd.own.mk>
351.1Sjmcneill
361.1SjmcneillTEXTADDR=	0x01004000
371.1SjmcneillSTACKADDR=	0x01100000
381.1SjmcneillENTRY=		__start
391.1Sjmcneill
401.1SjmcneillAFLAGS+=	-mcpu=750
411.1Sjmcneill
421.2SjmcneillCFLAGS+=	-mcpu=750
431.2SjmcneillCFLAGS+=	${${ACTIVE_CC} == "gcc":? -msdata=none :}
441.2SjmcneillCFLAGS+=	${${ACTIVE_CC} == "gcc":? -mno-strict-align :}
451.2SjmcneillCFLAGS+=	-msoft-float
461.1SjmcneillCFLAGS+=	-ffreestanding
471.1SjmcneillCFLAGS+=	-nostdinc
481.1SjmcneillCFLAGS+=	-Wall -Wmissing-prototypes
491.1Sjmcneill
501.1SjmcneillCPPFLAGS+=	-D_STANDALONE
511.1SjmcneillCPPFLAGS+=	-DSUPPORT_DOSFS
521.1SjmcneillCPPFLAGS+=	-DLIBSA_FFS_EI
531.1SjmcneillCPPFLAGS+=	-DLIBSA_DISKLABEL_EI
541.1Sjmcneill
551.1SjmcneillCPPFLAGS+=	-DTEXTADDR=${TEXTADDR}
561.1SjmcneillCPPFLAGS+=	-DSTACKADDR=${STACKADDR}
571.1SjmcneillCPPFLAGS+=	-DPPC_OEA -DDISTANT_KERNEL -D__wii__ -Devbppc=evbppc
581.1SjmcneillCPPFLAGS+=	-DCACHE_LINE_SIZE=32
591.1SjmcneillCPPFLAGS+=	-DEVBPPC_HAS_MBR
601.1Sjmcneill
611.1SjmcneillCPPFLAGS+=	-I. -I${.CURDIR} -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
621.1Sjmcneill
631.1Sjmcneill# Follow the suit of Makefile.kern.inc; needed for the lfs64 union
641.1Sjmcneill# accessors -- they don't actually dereference the resulting pointer,
651.1Sjmcneill# just use it for type-checking.
661.1SjmcneillCWARNFLAGS+=		${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
671.1Sjmcneill
681.1Sjmcneill### find out what to use for libsa
691.1SjmcneillSA_AS= library
701.1SjmcneillSAMISCMAKEFLAGS+=	SA_USE_LOADFILE=yes
711.1SjmcneillSAMISCMAKEFLAGS+=	SA_USE_CREAD=yes
721.1SjmcneillSAMISCMAKEFLAGS+=	SA_INCLUDE_NET=no
731.1Sjmcneill.include "${S}/lib/libsa/Makefile.inc"
741.1SjmcneillLIBSA= ${SALIB}
751.1Sjmcneill
761.1Sjmcneill### find out what to use for libkern
771.1SjmcneillKERN_AS= library
781.1Sjmcneill.include "${S}/lib/libkern/Makefile.inc"
791.1SjmcneillLIBKERN= ${KERNLIB}
801.1Sjmcneill
811.1Sjmcneill### find out what to use for libz
821.1SjmcneillZ_AS= library
831.1Sjmcneill.include "${S}/lib/libz/Makefile.inc"
841.1SjmcneillLIBZ= ${ZLIB}
851.1Sjmcneill
861.1Sjmcneillcleandir distclean: .WAIT cleanlibdir
871.1Sjmcneill
881.1Sjmcneillcleanlibdir:
891.1Sjmcneill	-rm -rf lib
901.1Sjmcneill
911.1SjmcneillLIBLIST= ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBSA}
921.1Sjmcneill
931.1Sjmcneill.include "${S}/conf/newvers_stand.mk"
941.1Sjmcneill
951.1Sjmcneill${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
961.1Sjmcneill	${_MKTARGET_LINK}
971.1Sjmcneill	${LD} -N -T ${POWERPC}/conf/kern.ldscript \
981.1Sjmcneill	    -Ttext ${TEXTADDR} -e ${ENTRY} -q -X \
991.1Sjmcneill	    -o ${PROG} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
1001.1Sjmcneill
1011.1Sjmcneillrelease: check_RELEASEDIR
1021.1Sjmcneill	${HOST_INSTALL_FILE} -m ${BINMODE} ${PROG} \
1031.1Sjmcneill	    ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/misc
1041.1Sjmcneill
1051.1Sjmcneill.include <bsd.klinks.mk>
1061.1Sjmcneill.include <bsd.prog.mk>
107