Home | History | Annotate | Line # | Download | only in wii
Makefile revision 1.2
      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