mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-30 19:50:24 +00:00
100 lines
2.3 KiB
Makefile
100 lines
2.3 KiB
Makefile
RARCH_VERSION = "0.9.9.3"
|
|
|
|
DEBUG = 0
|
|
HAVE_LOGGER = 0
|
|
HAVE_FILE_LOGGER = 0
|
|
PERF_TEST = 0
|
|
WHOLE_ARCHIVE_LINK = 0
|
|
BIG_STACK = 0
|
|
|
|
PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7"
|
|
PC_DEVELOPMENT_UDP_PORT = 3490
|
|
|
|
# system platform
|
|
system_platform = unix
|
|
ifeq ($(shell uname -a),)
|
|
EXE_EXT = .exe
|
|
system_platform = win
|
|
else ifneq ($(findstring Darwin,$(shell uname -a)),)
|
|
system_platform = osx
|
|
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
|
system_platform = win
|
|
endif
|
|
|
|
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
|
CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT)
|
|
LD = $(DEVKITPPC)/bin/powerpc-eabi-ld$(EXE_EXT)
|
|
ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT)
|
|
|
|
DOL_TARGET := retroarch_ngc.dol
|
|
ELF_TARGET := retroarch_ngc.elf
|
|
|
|
INCLUDE := -I. -I$(DEVKITPRO)/libogc/include
|
|
LIBDIRS := -L$(DEVKITPRO)/libogc/lib/cube -L.
|
|
|
|
MACHDEP := -DGEKKO -DHW_DOL -mogc -mcpu=750 -meabi -mhard-float
|
|
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(INCLUDE)
|
|
ifeq ($(WHOLE_ARCHIVE_LINK), 1)
|
|
WHOLE_START := -Wl,--whole-archive
|
|
WHOLE_END := -Wl,--no-whole-archive
|
|
endif
|
|
LDFLAGS := $(MACHDEP) -Wl,-Map,$(notdir $(ELF_TARGET)).map
|
|
ifeq ($(BIG_STACK), 1)
|
|
LDFLAGS += -T gx/ld/ogc.ld
|
|
endif
|
|
LIBS := -lfat $(WHOLE_START) -lretro_ngc $(WHOLE_END) -logc
|
|
|
|
OBJ = griffin/griffin.o
|
|
|
|
ifeq ($(PERF_TEST), 1)
|
|
CFLAGS += -DPERF_TEST
|
|
endif
|
|
|
|
ifeq ($(HAVE_LOGGER), 1)
|
|
CFLAGS += -DHAVE_LOGGER
|
|
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
|
|
CFLAGS += -Iconsole/logger
|
|
LIBS += -lbba
|
|
endif
|
|
|
|
ifeq ($(HAVE_FILE_LOGGER), 1)
|
|
CFLAGS += -DHAVE_FILE_LOGGER
|
|
CFLAGS += -Iconsole/logger
|
|
endif
|
|
|
|
CFLAGS += -std=gnu99 -DSINC_LOWER_QUALITY -DHAVE_RGUI -DHAVE_MENU -DRARCH_CONSOLE -DGEKKO -DHAVE_ZLIB -DWANT_MINIZ -DHAVE_GRIFFIN=1 -DHAVE_SCREENSHOTS -DHAVE_THREADS -Wno-char-subscripts -DRARCH_INTERNAL
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
CFLAGS += -O0 -g
|
|
else
|
|
CFLAGS += -O3
|
|
endif
|
|
|
|
all: $(DOL_TARGET)
|
|
|
|
%.dol: %.elf
|
|
$(ELF2DOL) $< $@
|
|
|
|
$(ELF_TARGET): $(OBJ)
|
|
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
%.binobj: %.bin
|
|
$(LD) -r -b binary -o $@ $<
|
|
|
|
%.bmpobj: %.bmp
|
|
$(LD) -r -b binary -o $@ $<
|
|
|
|
pkg: all
|
|
cp -r $(DOL_TARGET) ngc/pkg/CORE.dol
|
|
|
|
clean:
|
|
rm -f $(DOL_TARGET)
|
|
rm -f $(ELF_TARGET)
|
|
rm -f $(OBJ)
|
|
|
|
.PHONY: clean
|
|
|