1 # $NetBSD: Makefile,v 1.2 2025/11/22 11:21:46 jmcneill Exp $ 2 3 S= ${.CURDIR}/../../../.. 4 POWERPC= ${S}/arch/powerpc 5 6 PROG?= ppcboot.elf 7 NEWVERSWHAT= "Wii MINI boot" 8 9 SRCS+= start.S 10 SRCS+= boot.c 11 SRCS+= console.c 12 SRCS+= conf.c 13 SRCS+= devopen.c 14 SRCS+= gecko.c 15 SRCS+= gpio.c 16 SRCS+= miniipc.c 17 SRCS+= sdmmc.c 18 SRCS+= timer.c 19 20 NOMAN= # defined 21 NOSANITIZER= # defined 22 NORELRO= # defined 23 STRIPFLAG= # nothing 24 25 LIBCRT0= # nothing 26 LIBCRTI= # nothing 27 LIBCRTBEGIN= # nothing 28 LIBCRTEND= # nothing 29 LIBC= # nothing 30 31 BINDIR= /usr/mdec 32 BINMODE= 444 33 34 .include <bsd.own.mk> 35 36 TEXTADDR= 0x01004000 37 STACKADDR= 0x01100000 38 ENTRY= __start 39 40 AFLAGS+= -mcpu=750 41 42 CFLAGS+= -mcpu=750 43 CFLAGS+= ${${ACTIVE_CC} == "gcc":? -msdata=none :} 44 CFLAGS+= ${${ACTIVE_CC} == "gcc":? -mno-strict-align :} 45 CFLAGS+= -msoft-float 46 CFLAGS+= -ffreestanding 47 CFLAGS+= -nostdinc 48 CFLAGS+= -Wall -Wmissing-prototypes 49 50 CPPFLAGS+= -D_STANDALONE 51 CPPFLAGS+= -DSUPPORT_DOSFS 52 CPPFLAGS+= -DLIBSA_FFS_EI 53 CPPFLAGS+= -DLIBSA_DISKLABEL_EI 54 55 CPPFLAGS+= -DTEXTADDR=${TEXTADDR} 56 CPPFLAGS+= -DSTACKADDR=${STACKADDR} 57 CPPFLAGS+= -DPPC_OEA -DDISTANT_KERNEL -D__wii__ -Devbppc=evbppc 58 CPPFLAGS+= -DCACHE_LINE_SIZE=32 59 CPPFLAGS+= -DEVBPPC_HAS_MBR 60 61 CPPFLAGS+= -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. 66 CWARNFLAGS+= ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} 67 68 ### find out what to use for libsa 69 SA_AS= library 70 SAMISCMAKEFLAGS+= SA_USE_LOADFILE=yes 71 SAMISCMAKEFLAGS+= SA_USE_CREAD=yes 72 SAMISCMAKEFLAGS+= SA_INCLUDE_NET=no 73 .include "${S}/lib/libsa/Makefile.inc" 74 LIBSA= ${SALIB} 75 76 ### find out what to use for libkern 77 KERN_AS= library 78 .include "${S}/lib/libkern/Makefile.inc" 79 LIBKERN= ${KERNLIB} 80 81 ### find out what to use for libz 82 Z_AS= library 83 .include "${S}/lib/libz/Makefile.inc" 84 LIBZ= ${ZLIB} 85 86 cleandir distclean: .WAIT cleanlibdir 87 88 cleanlibdir: 89 -rm -rf lib 90 91 LIBLIST= ${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 101 release: 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