mirror of
https://github.com/libretro/xrick-libretro.git
synced 2025-02-17 05:27:49 +00:00
146 lines
3.8 KiB
Makefile
146 lines
3.8 KiB
Makefile
STATIC_LINKING=0
|
|
STATIC_LINKING_LINK=0
|
|
|
|
CORE_DIR := .
|
|
WANT_ZLIB=1
|
|
|
|
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
|
|
|
|
TARGET_NAME := xrick
|
|
|
|
ifeq ($(STATIC_LINKING),1)
|
|
EXT=a
|
|
|
|
ifeq ($(platform), unix)
|
|
PLAT=_unix
|
|
STATIC_LINKING=1
|
|
STATIC_LINKING_LINK=1
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(platform), android)
|
|
CC = arm-linux-androideabi-gcc
|
|
AR = @arm-linux-androideabi-ar
|
|
LD = @arm-linux-androideabi-g++
|
|
TARGET := $(TARGET_NAME)_libretro.so
|
|
fpic := -fPIC
|
|
SHARED := -Wl,--fix-cortex-a8 -llog --shared -Wl,--version-script=$(CORE_DIR)/libretro/core/link.T -Wl,--no-undefined
|
|
PLATFLAGS := -DAND -DALIGN_DWORD -D__LIBRETRO__
|
|
|
|
else ifeq ($(platform), unix)
|
|
CC = gcc
|
|
TARGET := $(TARGET_NAME)_libretro.so
|
|
fpic := -fPIC
|
|
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/libretro/core/link.T -Wl,--no-undefined
|
|
PLATFLAGS := -DALIGN_DWORD -D__LIBRETRO__
|
|
|
|
# OS X
|
|
else ifneq (,$(findstring osx,$(platform)))
|
|
TARGET := $(TARGET_NAME)_libretro.dylib
|
|
fpic := -fPIC
|
|
SHARED := -dynamiclib
|
|
PLATFLAGS := -DALIGN_DWORD -D__LIBRETRO__
|
|
|
|
# iOS
|
|
else ifneq (,$(findstring ios,$(platform)))
|
|
TARGET := $(TARGET_NAME)_libretro_ios.dylib
|
|
fpic := -fPIC
|
|
SHARED := -dynamiclib
|
|
PLATFLAGS := -DALIGN_DWORD -D__LIBRETRO__
|
|
|
|
# Nintendo Wii
|
|
else ifeq ($(platform), wii)
|
|
TARGET := $(TARGET_NAME)_libretro_wii.a
|
|
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
|
CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT)
|
|
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
|
BAKE_IN_ZLIB=1
|
|
CFLAGS += -DSDL_BYTEORDER=SDL_BIG_ENDIAN -DMSB_FIRST -DBYTE_ORDER=BIG_ENDIAN -DBYTE_ORDER=BIG_ENDIAN \
|
|
-DHAVE_ASPRINTF -I$(DEVKITPRO)/libogc/include \
|
|
-D__powerpc__ -D__POWERPC__ -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -DMSB_FIRST
|
|
SHARED := -lm -lc
|
|
PLATFLAGS := -D__LIBRETRO__ -DALIGN_DWORD
|
|
WANT_ZLIB=1
|
|
STATIC_LINKING=1
|
|
STATIC_LINKING_LINK=1
|
|
|
|
else ifeq ($(platform), ps3)
|
|
TARGET := $(TARGET_NAME)_libretro_ps3.a
|
|
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
|
|
CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++.exe
|
|
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
|
|
BAKE_IN_ZLIB=1
|
|
SHARED := -lm -lc
|
|
CFLAGS += -DSDL_BYTEORDER=SDL_BIG_ENDIAN -DMSB_FIRST -DBYTE_ORDER=BIG_ENDIAN -DBYTE_ORDER=BIG_ENDIAN \
|
|
-D__CELLOS_LV2 -DHAVE_ASPRINTF -DMSB_FIRST
|
|
PLATFLAGS := -D__LIBRETRO__ -DALIGN_DWORD
|
|
WANT_ZLIB=1
|
|
STATIC_LINKING=1
|
|
STATIC_LINKING_LINK=1
|
|
|
|
else
|
|
CC = gcc
|
|
PLATFLAGS := -D__LIBRETRO__ -DALIGN_DWORD -DWIN32PORT -DWIN32
|
|
TARGET := $(TARGET_NAME)_libretro.dll
|
|
SHARED := -shared -static-libgcc -s -Wl,--version-script=$(CORE_DIR)/libretro/core/link.T -Wl,--no-undefined
|
|
endif
|
|
|
|
ifeq ($(STATIC_LINKING),1)
|
|
SHARED=
|
|
fpic=
|
|
endif
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
CFLAGS += -O0 -g
|
|
else
|
|
CFLAGS += -O2 -DNDEBUG
|
|
endif
|
|
|
|
ifeq ($(WANT_ZLIB), 1)
|
|
CFLAGS += -DWANT_ZLIB
|
|
endif
|
|
|
|
CFLAGS += -fsigned-char -Wno-strict-prototypes -ffast-math -fomit-frame-pointer -fno-builtin
|
|
|
|
include $(CORE_DIR)/Makefile.common
|
|
|
|
ifeq ($(STATIC_LINKING),1)
|
|
CFLAGS += -DSTATIC_LINKING
|
|
endif
|
|
|
|
CFLAGS += $(INCFLAGS)
|
|
CXXFLAGS += $(CFLAGS) $(INCFLAGS)
|
|
CPPFLAGS += $(CFLAGS) $(INCFLAGS)
|
|
|
|
LIBS := -lm
|
|
|
|
OBJECTS := $(SOURCES_C:.c=.o)
|
|
|
|
all: $(TARGET)
|
|
$(TARGET): $(OBJECTS)
|
|
ifeq ($(STATIC_LINKING_LINK),1)
|
|
$(AR) rcs $@ $(OBJECTS)
|
|
else
|
|
$(CC) $(fpic) $(SHARED) $(INCLUDES) -o $@ $(OBJECTS) $(LIBS)
|
|
endif
|
|
|
|
%.o: %.c
|
|
$(CC) $(fpic) $(CFLAGS) $(PLATFLAGS) $(HINCLUDES) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(OBJECTS) $(TARGET)
|
|
|
|
.PHONY: clean
|
|
|