1# $NetBSD: Makefile,v 1.2 2025/11/22 11:21:46 jmcneill Exp $ 2 3S= ${.CURDIR}/../../../.. 4POWERPC= ${S}/arch/powerpc 5 6PROG?= ppcboot.elf 7NEWVERSWHAT= "Wii MINI boot" 8 9SRCS+= start.S 10SRCS+= boot.c 11SRCS+= console.c 12SRCS+= conf.c 13SRCS+= devopen.c 14SRCS+= gecko.c 15SRCS+= gpio.c 16SRCS+= miniipc.c 17SRCS+= sdmmc.c 18SRCS+= timer.c 19 20NOMAN= # defined 21NOSANITIZER= # defined 22NORELRO= # defined 23STRIPFLAG= # nothing 24 25LIBCRT0= # nothing 26LIBCRTI= # nothing 27LIBCRTBEGIN= # nothing 28LIBCRTEND= # nothing 29LIBC= # nothing 30 31BINDIR= /usr/mdec 32BINMODE= 444 33 34.include <bsd.own.mk> 35 36TEXTADDR= 0x01004000 37STACKADDR= 0x01100000 38ENTRY= __start 39 40AFLAGS+= -mcpu=750 41 42CFLAGS+= -mcpu=750 43CFLAGS+= ${${ACTIVE_CC} == "gcc":? -msdata=none :} 44CFLAGS+= ${${ACTIVE_CC} == "gcc":? -mno-strict-align :} 45CFLAGS+= -msoft-float 46CFLAGS+= -ffreestanding 47CFLAGS+= -nostdinc 48CFLAGS+= -Wall -Wmissing-prototypes 49 50CPPFLAGS+= -D_STANDALONE 51CPPFLAGS+= -DSUPPORT_DOSFS 52CPPFLAGS+= -DLIBSA_FFS_EI 53CPPFLAGS+= -DLIBSA_DISKLABEL_EI 54 55CPPFLAGS+= -DTEXTADDR=${TEXTADDR} 56CPPFLAGS+= -DSTACKADDR=${STACKADDR} 57CPPFLAGS+= -DPPC_OEA -DDISTANT_KERNEL -D__wii__ -Devbppc=evbppc 58CPPFLAGS+= -DCACHE_LINE_SIZE=32 59CPPFLAGS+= -DEVBPPC_HAS_MBR 60 61CPPFLAGS+= -I. -I${.CURDIR} -I${.CURDIR}/../../.. -I${.CURDIR}/../../../.. 62 63# Follow the suit of Makefile.kern.inc; needed for the lfs64 union 64# accessors -- they don't actually dereference the resulting pointer, 65# just use it for type-checking. 66CWARNFLAGS+= ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} 67 68### find out what to use for libsa 69SA_AS= library 70SAMISCMAKEFLAGS+= SA_USE_LOADFILE=yes 71SAMISCMAKEFLAGS+= SA_USE_CREAD=yes 72SAMISCMAKEFLAGS+= SA_INCLUDE_NET=no 73.include "${S}/lib/libsa/Makefile.inc" 74LIBSA= ${SALIB} 75 76### find out what to use for libkern 77KERN_AS= library 78.include "${S}/lib/libkern/Makefile.inc" 79LIBKERN= ${KERNLIB} 80 81### find out what to use for libz 82Z_AS= library 83.include "${S}/lib/libz/Makefile.inc" 84LIBZ= ${ZLIB} 85 86cleandir distclean: .WAIT cleanlibdir 87 88cleanlibdir: 89 -rm -rf lib 90 91LIBLIST= ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBSA} 92 93.include "${S}/conf/newvers_stand.mk" 94 95${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 96 ${_MKTARGET_LINK} 97 ${LD} -N -T ${POWERPC}/conf/kern.ldscript \ 98 -Ttext ${TEXTADDR} -e ${ENTRY} -q -X \ 99 -o ${PROG} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 100 101release: check_RELEASEDIR 102 ${HOST_INSTALL_FILE} -m ${BINMODE} ${PROG} \ 103 ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/misc 104 105.include <bsd.klinks.mk> 106.include <bsd.prog.mk> 107