Makefile revision 1.1
11.1Sjmcneill# $NetBSD: Makefile,v 1.1 2025/11/16 20:11:47 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.1SjmcneillCFLAGS+=	-mcpu=750 -msdata=none -mno-strict-align -msoft-float
431.1SjmcneillCFLAGS+=	-ffreestanding
441.1SjmcneillCFLAGS+=	-nostdinc
451.1SjmcneillCFLAGS+=	-Wall -Wmissing-prototypes
461.1Sjmcneill
471.1SjmcneillCPPFLAGS+=	-D_STANDALONE
481.1SjmcneillCPPFLAGS+=	-DSUPPORT_DOSFS
491.1SjmcneillCPPFLAGS+=	-DLIBSA_FFS_EI
501.1SjmcneillCPPFLAGS+=	-DLIBSA_DISKLABEL_EI
511.1Sjmcneill
521.1SjmcneillCPPFLAGS+=	-DTEXTADDR=${TEXTADDR}
531.1SjmcneillCPPFLAGS+=	-DSTACKADDR=${STACKADDR}
541.1SjmcneillCPPFLAGS+=	-DPPC_OEA -DDISTANT_KERNEL -D__wii__ -Devbppc=evbppc
551.1SjmcneillCPPFLAGS+=	-DCACHE_LINE_SIZE=32
561.1SjmcneillCPPFLAGS+=	-DEVBPPC_HAS_MBR
571.1Sjmcneill
581.1SjmcneillCPPFLAGS+=	-I. -I${.CURDIR} -I${.CURDIR}/../../.. -I${.CURDIR}/../../../..
591.1Sjmcneill
601.1Sjmcneill# Follow the suit of Makefile.kern.inc; needed for the lfs64 union
611.1Sjmcneill# accessors -- they don't actually dereference the resulting pointer,
621.1Sjmcneill# just use it for type-checking.
631.1SjmcneillCWARNFLAGS+=		${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
641.1Sjmcneill
651.1Sjmcneill### find out what to use for libsa
661.1SjmcneillSA_AS= library
671.1SjmcneillSAMISCMAKEFLAGS+=	SA_USE_LOADFILE=yes
681.1SjmcneillSAMISCMAKEFLAGS+=	SA_USE_CREAD=yes
691.1SjmcneillSAMISCMAKEFLAGS+=	SA_INCLUDE_NET=no
701.1Sjmcneill.include "${S}/lib/libsa/Makefile.inc"
711.1SjmcneillLIBSA= ${SALIB}
721.1Sjmcneill
731.1Sjmcneill### find out what to use for libkern
741.1SjmcneillKERN_AS= library
751.1Sjmcneill.include "${S}/lib/libkern/Makefile.inc"
761.1SjmcneillLIBKERN= ${KERNLIB}
771.1Sjmcneill
781.1Sjmcneill### find out what to use for libz
791.1SjmcneillZ_AS= library
801.1Sjmcneill.include "${S}/lib/libz/Makefile.inc"
811.1SjmcneillLIBZ= ${ZLIB}
821.1Sjmcneill
831.1Sjmcneillcleandir distclean: .WAIT cleanlibdir
841.1Sjmcneill
851.1Sjmcneillcleanlibdir:
861.1Sjmcneill	-rm -rf lib
871.1Sjmcneill
881.1SjmcneillLIBLIST= ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBSA}
891.1Sjmcneill
901.1Sjmcneill.include "${S}/conf/newvers_stand.mk"
911.1Sjmcneill
921.1Sjmcneill${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
931.1Sjmcneill	${_MKTARGET_LINK}
941.1Sjmcneill	${LD} -N -T ${POWERPC}/conf/kern.ldscript \
951.1Sjmcneill	    -Ttext ${TEXTADDR} -e ${ENTRY} -q -X \
961.1Sjmcneill	    -o ${PROG} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
971.1Sjmcneill
981.1Sjmcneillrelease: check_RELEASEDIR
991.1Sjmcneill	${HOST_INSTALL_FILE} -m ${BINMODE} ${PROG} \
1001.1Sjmcneill	    ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/misc
1011.1Sjmcneill
1021.1Sjmcneill.include <bsd.klinks.mk>
1031.1Sjmcneill.include <bsd.prog.mk>
104