Were you able to find out ?Now I want to do the same for the Nintendo Game Cube. I was able to compile my code with no erros, I just need to know where to put my image files to load the images using SDL_LoadBMP.
Could you explain how the Game Cube file system works?
Statistics: Posted by HudsonBr — Sat Mar 16, 2024 11:40 am
Code:
int main(void);int SDL_main(int argc, char *argv[]) { return main();}int main(void) {...
Statistics: Posted by HudsonBr — Fri Mar 15, 2024 9:35 pm
and the code is:#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
CFLAGS = -g -O2 -Wall $(MACHDEP) $(INCLUDE) `$(PREFIX)pkg-config --cflags sdl2`
CXXFLAGS =$(CFLAGS)
#LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map
LDFLAGS = -g $(MACHDEP) -Wl,-Map,$(notdir $@).map -Wl,--section-start,.init=0x81000000
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project -logg
#---------------------------------------------------------------------------------
LIBS:=-lharfbuzz -lm -lfreetype -lbz2 -lpng16 -lz -ljpeg -laesnd -lfat -logc -lm -lvorbisidec -lmodplug -lstdc++ -lmpg123 -lopusfile -lopus -lFLAC -logg `$(PREFIX)pkg-config --libs sdl2`
Code:
#include <gccore.h>#include <SDL2/SDL.h>int main(void) { if (SDL_Init(SDL_INIT_VIDEO) != 0) { SDL_Log("error: Failed to initialize"); return 1; } // Create a window SDL_Window *window = SDL_CreateWindow("NGC SDL2 Example", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); if (!window) { SDL_Log("SDL_CreateWindow Error: %s\n", SDL_GetError()); SDL_Quit(); return 1; } // Main loop SDL_Event event; int quit = 0; while (!quit) { while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { quit = 1; } } } // Cleanup SDL_DestroyWindow(window); SDL_Quit(); return 0;}
Statistics: Posted by HudsonBr — Fri Mar 15, 2024 9:08 pm
Statistics: Posted by WinterMute — Thu Mar 14, 2024 3:52 am
Main.cpp
linking ... red.elf
C:/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/devkitPro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/lib/crtmain.o: in function `__crtmain':
crtmain.c:(.text.__crtmain+0x3c): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [C:\devkitPro\devkitPPC/gamecube_rules:31: /c/projects/128-Bit/gamecube/red/red.elf] Error 1
make: *** [Makefile:102: build] Error 2
Code:
#include <gccore.h>#include <SDL2/sdl.h>int main(void) { if (SDL_Init(SDL_INIT_VIDEO) != 0) { SDL_Log("error: Failed to initialize"); return 1; } // Create a window SDL_Window *window = SDL_CreateWindow("GameCube SDL2 Example", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); if (!window) { SDL_Log("SDL_CreateWindow Error: %s\n", SDL_GetError()); SDL_Quit(); return 1; } // Main loop SDL_Event event; int quit = 0; while (!quit) { while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { quit = 1; } } } // Cleanup SDL_DestroyWindow(window); SDL_Quit(); return 0;}
Statistics: Posted by HudsonBr — Wed Mar 13, 2024 9:08 pm
Statistics: Posted by HudsonBr — Tue Mar 12, 2024 8:22 pm
Statistics: Posted by yummt — Tue Mar 12, 2024 4:17 pm
Statistics: Posted by WinterMute — Sun Mar 10, 2024 5:28 pm
Statistics: Posted by _redfire — Sun Mar 10, 2024 3:21 am
Code:
Vector axis2 = {0,0,1};
Code:
guVector axis2 = {0,0,1};
Statistics: Posted by yummt — Sat Mar 09, 2024 5:30 pm
Statistics: Posted by yummt — Sat Mar 09, 2024 4:41 pm
Code:
linking ... QuakeGX.elf
This part is wrong, these includes are handled automatically by stock Makefile. INCLUDES should just be blank here.Code:
INCLUDES:=$(DEVKITPRO)/libogc/include \$(DEVKITPRO)/libogc/include/ogc
Code:
LIBS:= -lasnd -logc -lfat -lbte -lwiiuse -ldb -lm -lwiikeyboard
Code:
LIBS:= -lasnd -lfat -lbte -lwiiuse -ldb -lwiikeyboard -logc -lm
This shouldn't be here either, this should be set in your environment. With your setup these should be added when you start the msys2 shell (there's a file that's read by bash shells in /etc/profile.d/devkit-env.sh)Code:
export DEVKITPPC := $(DEVKITPPC)
Statistics: Posted by WinterMute — Sat Mar 09, 2024 4:06 pm
Code:
linking ... QuakeGX.elfC:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libfat.a(disc.o): in function `get_io_wiisd':/home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:49:(.text.get_io_wiisd+0x2): undefined reference to `__io_wiisd'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:49:(.text.get_io_wiisd+0x6): undefined reference to `__io_wiisd'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libfat.a(disc.o): in function `get_io_usbstorage':/home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:52:(.text.get_io_usbstorage+0x2): undefined reference to `__io_usbstorage'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:52:(.text.get_io_usbstorage+0x6): undefined reference to `__io_usbstorage'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libfat.a(disc.o): in function `get_io_gcsda':/home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:56:(.text.get_io_gcsda+0x2): undefined reference to `__io_gcsda'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:56:(.text.get_io_gcsda+0x6): undefined reference to `__io_gcsda'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libfat.a(disc.o): in function `get_io_gcsdb':/home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:60:(.text.get_io_gcsdb+0x2): undefined reference to `__io_gcsdb'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libfat/src/libfat-1.2.0/libogc/../source/disc.c:60:(.text.get_io_gcsdb+0x6): undefined reference to `__io_gcsdb'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(wpad.o): in function `__readlinkkey_finished':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:283:(.text.__readlinkkey_finished+0x1c): undefined reference to `BTE_ApplyPatch'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(wpad.o): in function `__wpad_patch_finished':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:274:(.text.__wpad_patch_finished+0x14): undefined reference to `BTE_InitSub'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(wpad.o): in function `__initcore_finished':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:293:(.text.__initcore_finished+0x30): undefined reference to `BTE_ReadStoredLinkKey'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(wpad.o): in function `WPAD_Shutdown':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:1139:(.text.WPAD_Shutdown+0x110): undefined reference to `BTE_Shutdown'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(wpad.o): in function `WPAD_Init':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:715:(.text.WPAD_Init+0x16c): undefined reference to `BTE_Init'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:716:(.text.WPAD_Init+0x178): undefined reference to `BTE_SetDisconnectCallback'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/wpad.c:717:(.text.WPAD_Init+0x184): undefined reference to `BTE_InitCore'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(io_wii.o): in function `__wiiuse_connected':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:89:(.text.__wiiuse_connected+0x80): undefined reference to `bte_disconnect'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(io_wii.o): in function `wiiuse_register':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:127:(.text.wiiuse_register+0x50): undefined reference to `bte_new'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:131:(.text.wiiuse_register+0x68): undefined reference to `bte_arg'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:132:(.text.wiiuse_register+0x78): undefined reference to `bte_received'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:133:(.text.wiiuse_register+0x88): undefined reference to `bte_disconnected'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:135:(.text.wiiuse_register+0x9c): undefined reference to `bte_registerdeviceasync'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(io_wii.o): in function `wiiuse_disconnect':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:146:(.text.wiiuse_disconnect+0x20): undefined reference to `bte_disconnect'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiiuse.a(io_wii.o): in function `wiiuse_io_write':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/wiiuse/io_wii.c:171:(.text.wiiuse_io_write+0x10): undefined reference to `bte_senddata'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(keyboard.o): in function `KEYBOARD_Init':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/keyboard.c:488:(.text.KEYBOARD_Init+0x18): undefined reference to `USB_Initialize'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `_get_protocol':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:130:(.text._get_protocol+0x5c): undefined reference to `USB_WriteCtrlMsg'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `_set_output_report':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:197:(.text._set_output_report+0x64): undefined reference to `USB_WriteCtrlMsg'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `USBKeyboard_Close':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:391:(.text.USBKeyboard_Close+0x48): undefined reference to `USB_ClearHalt'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:392:(.text.USBKeyboard_Close+0x54): undefined reference to `USB_CloseDevice'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `USBKeyboard_Open':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:243:(.text.USBKeyboard_Open+0x48): undefined reference to `USB_GetDeviceList'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:270:(.text.USBKeyboard_Open+0xcc): undefined reference to `USB_OpenDevice'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:273:(.text.USBKeyboard_Open+0xe0): undefined reference to `USB_GetDescriptors'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:324:(.text.USBKeyboard_Open+0x20c): undefined reference to `USB_FreeDescriptors'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:329:(.text.USBKeyboard_Open+0x214): undefined reference to `USB_CloseDevice'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:324:(.text.USBKeyboard_Open+0x2a0): undefined reference to `USB_FreeDescriptors'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:337:(.text.USBKeyboard_Open+0x2bc): undefined reference to `USB_GetConfiguration'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:351:(.text.USBKeyboard_Open+0x2f4): undefined reference to `USB_SetAlternativeInterface'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `_set_protocol':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:142:(.text.USBKeyboard_Open+0x33c): undefined reference to `USB_WriteCtrlMsg'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `USBKeyboard_Open':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:372:(.text.USBKeyboard_Open+0x368): undefined reference to `USB_DeviceRemovalNotifyAsync'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:344:(.text.USBKeyboard_Open+0x3ac): undefined reference to `USB_SetConfiguration'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: /home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:250:(.text.USBKeyboard_Open+0x3d0): undefined reference to `USB_CloseDevice'C:/msys64/opt/devkitpro/devkitPPC/bin/../lib/gcc/powerpc-eabi/13.2.0/../../../../powerpc-eabi/bin/ld.exe: C:/msys64/opt/devkitpro/libogc/lib/wii\libwiikeyboard.a(usbkeyboard.o): in function `_get_input_report':/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc-2.5.0/libwiikeyboard/usbkeyboard.c:156:(.text.USBKeyboard_Scan+0x50): undefined reference to `USB_ReadIntrMsg'collect2.exe: error: ld returned 1 exit statusmake[1]: *** [/opt/devkitpro/devkitPPC/wii_rules:31: /home/tyler/quake-wii/QuakeGX.elf] Error 1make: *** [Makefile.wii:95: obj] Error 2
Code:
#---------------------------------------------------------------------------------# Clear the implicit built in rules#---------------------------------------------------------------------------------.SUFFIXES:#---------------------------------------------------------------------------------ifeq ($(strip $(DEVKITPPC)),)$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")endifinclude $(DEVKITPPC)/wii_rules#---------------------------------------------------------------------------------# TARGET is the name of the output# BUILD is the directory where object files & intermediate files will be placed# SOURCES is a list of directories containing source code# INCLUDES is a list of directories containing extra header files#---------------------------------------------------------------------------------TARGET:=QuakeGXTARGETDIR := dist/wii/apps/quakeBUILD:=objSOURCES:=src/wii \ src/wii/gx \ src/genericINCLUDES:=$(DEVKITPRO)/libogc/include \$(DEVKITPRO)/libogc/include/ogc#---------------------------------------------------------------------------------# options for code generation#---------------------------------------------------------------------------------CFLAGS= -D_WII_ -DNOOPENGL -g -O3 -Wall $(MACHDEP) $(INCLUDE) `$(PREFIX)pkg-config --cflags sdl`CXXFLAGS=$(CFLAGS) -std=c++03LDFLAGS=-g $(MACHDEP) -Wl,-Map,$(notdir $@).map#---------------------------------------------------------------------------------# any extra libraries we wish to link with the project#---------------------------------------------------------------------------------LIBS:= -lasnd -logc -lfat -lbte -lwiiuse -ldb -lm -lwiikeyboard#---------------------------------------------------------------------------------# list of directories containing libraries, this must be the top level containing# include and lib#---------------------------------------------------------------------------------LIBDIRS:= $(PORTLIBS)#---------------------------------------------------------------------------------# no real need to edit anything past this point unless you need to add additional# rules for different file extensions#---------------------------------------------------------------------------------ifneq ($(BUILD),$(notdir $(CURDIR)))#---------------------------------------------------------------------------------export OUTPUT:=$(CURDIR)/$(TARGETDIR)/$(TARGET)export VPATH:=$(foreach dir,$(SOURCES),$(CURDIR)/$(dir))export DEPSDIR:=$(CURDIR)/$(BUILD)export DEVKITPPC := $(DEVKITPPC)#---------------------------------------------------------------------------------# automatically build a list of object files for our project#---------------------------------------------------------------------------------CFILES:=$(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))CPPFILES:=$(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))#---------------------------------------------------------------------------------# use CXX for linking C++ projects, CC for standard C#---------------------------------------------------------------------------------ifeq ($(strip $(CPPFILES)),)export LD:=$(CC)elseexport LD:=$(CXX)endifexport OFILES:=$(CPPFILES:.cpp=.o) $(CFILES:.c=.o)#---------------------------------------------------------------------------------# build a list of include paths#---------------------------------------------------------------------------------export INCLUDE:=$(foreach dir,$(INCLUDES), -iquote $(CURDIR)/$(dir)) \$(foreach dir,$(LIBDIRS),-I$(dir)/include) \-I$(CURDIR)/$(BUILD) \-I$(LIBOGC_INC)#---------------------------------------------------------------------------------# build a list of library paths#---------------------------------------------------------------------------------export LIBPATHS:=$(foreach dir,$(LIBDIRS),-L$(dir)/lib) \-L$(LIBOGC_LIB)export OUTPUT:=$(CURDIR)/$(TARGET).PHONY: $(BUILD) clean#---------------------------------------------------------------------------------$(BUILD):@[ -d $@ ] || mkdir -p $@@[ -d $(TARGETDIR) ] || mkdir -p $(TARGETDIR)@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile.wii#---------------------------------------------------------------------------------clean:@echo clean ...@rm -fr $(BUILD) $(OUTPUT).elf $(OUTPUT).dol#---------------------------------------------------------------------------------run:wiiload $(OUTPUT).dol#---------------------------------------------------------------------------------reload:wiiload -r $(OUTPUT).dol#---------------------------------------------------------------------------------elseDEPENDS:=$(OFILES:.o=.d)#---------------------------------------------------------------------------------# main targets#---------------------------------------------------------------------------------$(OUTPUT).dol: $(OUTPUT).elf$(OUTPUT).elf: $(OFILES)-include $(DEPENDS)#---------------------------------------------------------------------------------endif#---------------------------------------------------------------------------------
Statistics: Posted by yummt — Sat Mar 09, 2024 3:33 am
It doesn't, no. It's also not very useful to put these things on random filesharing sites. In our experience these things are prone to disappearing.Here is the Makefile if that helps:
Statistics: Posted by WinterMute — Sat Mar 09, 2024 12:53 am