RetroArch/Makefile.griffin

394 lines
9.7 KiB
Makefile
Raw Normal View History

DEBUG = 0
HAVE_LOGGER = 0
HAVE_FILE_LOGGER = 0
WHOLE_ARCHIVE_LINK = 0
BIG_STACK = 1
PC_DEVELOPMENT_IP_ADDRESS = 255.255.255.255
PC_DEVELOPMENT_UDP_PORT = 3490
ifneq ($(EMSCRIPTEN),)
platform = emscripten
endif
ifeq ($(platform),)
platform = unix
ifeq ($(shell uname -a),)
platform = win
else ifneq ($(findstring MINGW,$(shell uname -a)),)
platform = win
else ifneq ($(findstring Darwin,$(shell uname -a)),)
platform = osx
else ifneq ($(findstring win,$(shell uname -a)),)
platform = win
endif
endif
# 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
TARGET_NAME := retroarch
INCLUDE :=
LDFLAGS :=
LIBDIRS :=
SHADER_CG_DIR := media/shaders_cg
OVERLAY_DIR := media/overlays
SHADER_GLSL_DIR := media/shaders_glsl
PYTHON2 = python2$(EXE_EXT)
PYTHON3 = python3$(EXE_EXT)
GIT = git$(EXE_EXT)
ifeq ($(WHOLE_ARCHIVE_LINK), 1)
WHOLE_START := -Wl,--whole-archive
WHOLE_END := -Wl,--no-whole-archive
endif
ifeq ($(platform), ngc)
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)
2014-02-19 16:47:59 +00:00
EXT_TARGET := $(TARGET_NAME)_ngc.dol
EXT_INTER_TARGET := $(TARGET_NAME)_ngc.elf
2015-03-06 00:47:09 +00:00
INCLUDE += -I. -I$(DEVKITPRO)/libogc/include -Ideps/zlib
LIBDIRS += -L$(DEVKITPRO)/libogc/lib/cube -L.
MACHDEP := -DGEKKO -DHW_DOL -mogc -mcpu=750 -meabi -mhard-float -DMSB_FIRST
2014-02-19 16:47:59 +00:00
LDFLAGS += $(MACHDEP) -Wl,-Map,$(notdir $(EXT_INTER_TARGET)).map
ifeq ($(BIG_STACK), 1)
LDFLAGS += -T gx/ld/ogc.ld
endif
LIBS := -lfat $(WHOLE_START) -lretro_ngc $(WHOLE_END) -logc
ifeq ($(HAVE_LOGGER), 1)
LIBS += -lbba
endif
PLATCFLAGS := -DGEKKO
2014-05-31 14:12:30 +00:00
HAVE_FILTERS_BUILTIN := 1
2014-02-19 16:47:59 +00:00
HAVE_THREADS := 1
HAVE_ZLIB := 1
2015-04-19 14:55:03 +00:00
HAVE_RPNG := 1
2014-09-12 20:24:18 +00:00
HAVE_7ZIP := 1
2014-02-21 01:38:15 +00:00
HAVE_RPNG := 1
HAVE_OVERLAY := 1
HAVE_BUILTIN_AUTOCONFIG := 1
else ifeq ($(platform), ps3)
#TODO
MEDIA_SHADER_DIR := ps3/pkg/USRDIR/cores/shaders
else ifeq ($(platform), ps3-cobra)
#TODO
MEDIA_SHADER_DIR := ps3/iso/PS3_GAME/USRDIR/cores/shaders
else ifeq ($(platform), wii)
HAVE_WIIUSB_HID := 1
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)
2014-02-19 16:47:59 +00:00
EXT_TARGET := $(TARGET_NAME)_wii.dol
EXT_INTER_TARGET := $(TARGET_NAME)_wii.elf
2015-03-06 00:47:09 +00:00
INCLUDE += -I. -I$(DEVKITPRO)/libogc/include -Ideps/zlib
LIBDIRS += -L$(DEVKITPRO)/libogc/lib/wii -L.
MACHDEP := -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -DMSB_FIRST
2014-02-19 16:47:59 +00:00
LDFLAGS += $(MACHDEP) -Wl,-Map,$(notdir $(EXT_INTER_TARGET)).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,strdup,-wrap,strndup,-wrap,malloc_usable_size
ifeq ($(BIG_STACK), 1)
2014-10-28 00:37:02 +00:00
LDFLAGS += -T gx/ld/rvl.ld
endif
LIBS := -lfat $(WHOLE_START) -lretro_wii $(WHOLE_END) -logc -lwiiuse -lbte
ifeq ($(USBGECKO), 1)
LIBS += -ldb
endif
APP_BOOTER_DIR = wii/app_booter
PLATOBJS := $(APP_BOOTER_DIR)/app_booter.binobj
2015-03-01 04:18:23 +00:00
CFLAGS += -DGEKKO
2014-10-28 00:37:02 +00:00
ifeq ($(USBGECKO), 1)
2015-03-01 04:18:23 +00:00
CFLAGS += -DUSBGECKO
2014-10-28 00:37:02 +00:00
endif
2014-02-19 16:47:59 +00:00
2014-05-31 14:12:30 +00:00
HAVE_FILTERS_BUILTIN := 1
2014-02-19 16:47:59 +00:00
HAVE_RARCH_EXEC := 1
HAVE_THREADS := 1
HAVE_RSOUND := 1
2014-09-12 20:24:18 +00:00
HAVE_7ZIP := 1
2014-02-19 16:47:59 +00:00
HAVE_LIBRETRO_MANAGEMENT := 1
HAVE_ZLIB := 1
HAVE_RPNG := 1
2015-04-19 14:55:03 +00:00
HAVE_RPNG := 1
HAVE_OVERLAY := 1
HAVE_LIBSICKSAXIS := 1
HAVE_BUILTIN_AUTOCONFIG := 1
2014-02-19 16:47:59 +00:00
else ifeq ($(platform), psp1)
CC = psp-gcc$(EXE_EXT)
CXX = psp-g++$(EXE_EXT)
LD = psp-ld$(EXE_EXT)
INCLUDE += -I$(PSPSDK)/psp/sdk/include
EXT_TARGET := $(TARGET_NAME)_psp1.elf
EXT_INTER_TARGET := $(TARGET_NAME)_psp1.elf
PLATCFLAGS := -DPSP -D_PSP_FW_VERSION=150 -G0 \
-D_MIPS_ARCH_ALLEGREX
LIBS += $(WHOLE_START) -lretro_psp1 $(WHOLE_END) \
-lpspgu -lpspgum -lm -lpspaudio -lpspfpu \
-lpsppower -lpsprtc -lpspkernel
LIBDIRS += -L.
LDFLAGS += -Wl,-q
BUILD_PRX = 1
2014-02-19 16:47:59 +00:00
HAVE_LIBRETRO_MANAGEMENT := 1
HAVE_RPNG := 1
HAVE_KERNEL_PRX := 1
ifeq ($(BUILD_PRX), 1)
LDFLAGS += $(addprefix -L,$(PSPSDK)/lib) -specs=$(PSPSDK)/lib/prxspecs -Wl,-q,-T$(PSPSDK)/lib/linkfile.prx $(LDFLAGS)
endif
else ifeq ($(platform), vita)
CC = arm-vita-eabi-gcc$(EXE_EXT)
CXX = arm-vita-eabi-g++$(EXE_EXT)
LD = arm-vita-eabi-ld$(EXE_EXT)
EXT_TARGET := $(TARGET_NAME).velf
EXT_INTER_TARGET := $(TARGET_NAME).elf
MACHDEP := -DVITA
PLATCFLAGS := -O3
LIBS += $(WHOLE_START) -lretro_vita $(WHOLE_END) \
2015-08-30 17:23:15 +00:00
-lSceKernel_stub -lSceDisplay_stub -lSceGxm_stub -lSceNet_stub \
2015-08-30 15:23:01 +00:00
-lSceSysmodule_stub -lSceCtrl_stub -lSceAudio_stub \
-lScePower_stub -lSceRtc_stub -lz -lm -lc
PLATOBJS += audio/audio_utils_neon.o audio/drivers_resampler/sinc_neon.o \
audio/drivers_resampler/cc_resampler_neon.o
LIBDIRS += -L.
LDFLAGS += -Wl,-q
HAVE_LIBRETRO_MANAGEMENT := 1
HAVE_BUILTIN_AUTOCONFIG := 1
HAVE_RPNG := 1
2015-08-30 15:23:01 +00:00
HAVE_ZLIB := 1
HAVE_VITA2D := 1
endif
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(PLATCFLAGS) $(INCLUDE)
OBJ = griffin/griffin.o $(PLATOBJS)
INCLUDE += -I./libretro-common/include
ifeq ($(HAVE_LOGGER), 1)
CFLAGS += -DHAVE_LOGGER
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT)
2014-06-01 14:09:12 +00:00
INCLUDE += -Ilogger/netlogger
2014-02-19 16:47:59 +00:00
endif
ifeq ($(platform), wii)
CFLAGS += -DHAVE_SOCKET_LEGACY
endif
ifeq ($(platform), vita)
CFLAGS += -DHAVE_SOCKET_LEGACY
endif
2014-02-19 16:47:59 +00:00
ifeq ($(HAVE_LIBRETRO_MANAGEMENT), 1)
CFLAGS += -DHAVE_LIBRETRO_MANAGEMENT
endif
ifeq ($(HAVE_KERNEL_PRX), 1)
CFLAGS += -DHAVE_KERNEL_PRX
endif
ifeq ($(HAVE_LIBSICKSAXIS), 1)
CFLAGS += -DHAVE_LIBSICKSAXIS
endif
ifeq ($(HAVE_WIIUSB_HID), 1)
CFLAGS += -DHAVE_WIIUSB_HID -DHAVE_HID
endif
ifeq ($(HAVE_VITA2D), 1)
CFLAGS += -DHAVE_VITA2D
endif
ifeq ($(HAVE_LIBRETRODB), 1)
CFLAGS += -DHAVE_LIBRETRODB
endif
ifeq ($(BIG_STACK),1)
CFLAGS += -DBIG_STACK
endif
2014-02-19 16:47:59 +00:00
ifeq ($(HAVE_RPNG), 1)
CFLAGS += -DWANT_RPNG
endif
ifeq ($(HAVE_FILE_LOGGER), 1)
CFLAGS += -DHAVE_FILE_LOGGER
2014-06-01 14:09:12 +00:00
INCLUDE += -Ilogger/netlogger
endif
2014-02-19 16:47:59 +00:00
ifeq ($(HAVE_RARCH_EXEC), 1)
CFLAGS += -DHAVE_RARCH_EXEC
endif
2014-02-19 16:47:59 +00:00
ifeq ($(HAVE_ZLIB), 1)
2015-03-14 04:24:57 +00:00
CFLAGS += -DHAVE_ZLIB -DWANT_ZLIB
2014-02-19 16:47:59 +00:00
endif
2015-04-19 14:55:03 +00:00
ifeq ($(HAVE_RPNG), 1)
CFLAGS += -DHAVE_RPNG
endif
2014-09-12 20:24:18 +00:00
ifeq ($(HAVE_7ZIP), 1)
CFLAGS += -DHAVE_7ZIP
endif
ifeq ($(HAVE_OVERLAY), 1)
CFLAGS += -DHAVE_OVERLAY
endif
ifeq ($(HAVE_BUILTIN_AUTOCONFIG), 1)
CFLAGS += -DHAVE_BUILTIN_AUTOCONFIG
endif
2015-01-31 05:09:50 +00:00
ifeq ($(HAVE_NETWORKING), 1)
CFLAGS += -DHAVE_NETWORKING
endif
ifeq ($(HAVE_NETPLAY), 1)
CFLAGS += -DHAVE_NETPLAY
endif
2014-09-24 07:39:41 +00:00
CFLAGS += -std=gnu99 -DSINC_LOWER_QUALITY -DHAVE_RGUI -DHAVE_MENU -DRARCH_CONSOLE -DHAVE_GRIFFIN=1 -Wno-char-subscripts -DRARCH_INTERNAL
2014-05-31 14:12:30 +00:00
ifeq ($(HAVE_FILTERS_BUILTIN), 1)
CFLAGS += -DHAVE_FILTERS_BUILTIN
endif
ifeq ($(HAVE_THREADS), 1)
CFLAGS += -DHAVE_THREADS
2014-02-19 16:47:59 +00:00
ifeq ($(platform), psp1)
LIBS += -lpthread-psp
endif
endif
ifeq ($(HAVE_VITA2D), 1)
2015-08-30 18:11:57 +00:00
LIBS := -lvita2d $(LIBS)
endif
ifeq ($(HAVE_RSOUND), 1)
CFLAGS += -DHAVE_RSOUND
endif
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g -DDEBUG
2014-02-19 16:47:59 +00:00
else ifeq ($(platform), psp1)
CFLAGS += -O2
else
CFLAGS += -O3
endif
2014-02-19 16:47:59 +00:00
all: $(EXT_TARGET)
%.dol: %.elf
$(ELF2DOL) $< $@
%.velf: %.elf
arm-vita-eabi-strip -g $<
vita-elf-create $< $@ $(VITASDK)/bin/db.json
%.prx: %.elf
ifeq ($(platform),psp1)
psp-prxgen $< $@
endif
2014-02-19 16:47:59 +00:00
$(EXT_INTER_TARGET): $(OBJ)
$(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS)
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.S
$(CC) $(CFLAGS) -c -o $@ $<
%.bmpobj: %.bmp
$(LD) -r -b binary -o $@ $<
%.binobj: %.bin
$(LD) -r -b binary -o $@ $<
$(APP_BOOTER_DIR)/app_booter.bin:
$(MAKE) -C $(APP_BOOTER_DIR)
pkg: all
ifeq ($(platform), wii)
2014-02-19 16:47:59 +00:00
cp -r $(EXT_TARGET) wii/pkg/CORE.dol
else ifeq ($(platform), ngc)
2014-02-19 16:47:59 +00:00
cp -r $(EXT_TARGET) ngc/pkg/CORE.dol
else ifeq ($(platform), psp1)
psp-fixup-imports$(EXT) $(EXT_TARGET)
endif
shaders-checkout:
@if test -d $(SHADER_CG_DIR); then \
echo "[SHADER CHECKOUT::] Git pulling common-shaders..."; \
cd $(SHADER_CG_DIR); \
$(GIT) pull; \
cd ../../../../..; \
else \
echo "[SHADER CHECKOUT::] Git cloning common-shaders first..."; \
$(GIT) clone git://github.com/libretro/common-shaders.git $(SHADER_CG_DIR); \
fi
shaders-deploy:
ifeq ($(platform), ps3)
@if test -d $(MEDIA_SHADER_DIR); then \
cp -r $(SHADER_CG_DIR)/* $(MEDIA_SHADER_DIR); \
else \
echo "[DEPLOY PS3::] Creating PS3 shader directory first..."; \
mkdir -p $(MEDIA_SHADER_DIR) || bin/true; \
fi
@echo "[DEPLOY PS3::] Copied shaders to PS3 shaders directory."
else ifeq ($(platform), ps3-cobra)
@if test -d $(MEDIA_SHADER_DIR); then \
cp -r $(SHADER_CG_DIR)/* $(MEDIA_SHADER_DIR); \
else \
echo "[DEPLOY PS3::] Creating PS3 shader directory first..."; \
mkdir -p $(MEDIA_SHADER_DIR) || bin/true; \
fi
@echo "[DEPLOY PS3::] Copied shaders to PS3 shaders directory."
endif
shaders-convert-glsl:
$(PYTHON3) tools/cg2glsl.py $(SHADER_CG_DIR) $(SHADER_GLSL_DIR)
overlays-checkout:
@if test -d $(OVERLAY_DIR); then \
echo "[OVERLAY CHECKOUT::] Git pulling common-overlays..."; \
cd $(OVERLAY_DIR); \
$(GIT) pull; \
cd ../../../../..; \
else \
echo "[OVERLAY CHECKOUT::] Git cloning common-overlays first..."; \
$(GIT) clone git://github.com/libretro/common-overlays.git $(OVERLAY_DIR); \
fi
clean:
2014-02-19 16:47:59 +00:00
rm -f $(EXT_TARGET)
rm -f $(EXT_INTER_TARGET)
rm -f $(OBJ)
ifeq ($(platform), wii)
$(MAKE) -C $(APP_BOOTER_DIR) clean
endif
.PHONY: clean