mirror of
https://github.com/libretro/snes9x2002.git
synced 2025-03-01 11:57:43 +00:00
114 lines
2.9 KiB
Makefile
114 lines
2.9 KiB
Makefile
DEBUG=0
|
|
TARGET_NAME = pocketsnes
|
|
|
|
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
|
|
|
|
ifeq ($(platform), unix)
|
|
TARGET := $(TARGET_NAME)_libretro.so
|
|
fpic := -fPIC
|
|
SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined
|
|
CFLAGS += -fno-builtin \
|
|
-fno-exceptions -ffunction-sections \
|
|
-fomit-frame-pointer -fgcse-sm -fgcse-las -fgcse-after-reload \
|
|
-fweb -fpeel-loops
|
|
else ifeq ($(platform), osx)
|
|
TARGET := libretro.dylib
|
|
fpic := -fPIC
|
|
SHARED := -dynamiclib
|
|
else ifeq ($(platform), ps3)
|
|
TARGET := libretro.a
|
|
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
|
|
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
|
|
CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
|
|
STATIC_LINKING := 1
|
|
else ifeq ($(platform), sncps3)
|
|
TARGET := libretro.a
|
|
CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
|
|
AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
|
|
CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__
|
|
STATIC_LINKING := 1
|
|
else ifeq ($(platform), xenon)
|
|
TARGET := libretro.a
|
|
CC = xenon-gcc
|
|
AR = xenon-ar
|
|
CFLAGS += -D__LIBXENON__ -m32 -D__ppc__
|
|
STATIC_LINKING := 1
|
|
else ifeq ($(platform), wii)
|
|
TARGET := libretro.a
|
|
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc
|
|
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar
|
|
CFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -DBLARGG_BIG_ENDIAN=1 -D__ppc__
|
|
STATIC_LINKING := 1
|
|
# CTR (3DS)
|
|
else ifeq ($(platform), ctr)
|
|
TARGET := $(TARGET_NAME)_libretro_ctr.a
|
|
CC = $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT)
|
|
CXX = $(DEVKITARM)/bin/arm-none-eabi-g++$(EXE_EXT)
|
|
AR = $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT)
|
|
ARM_ASM = 1
|
|
CFLAGS += -DARM11 -D_3DS
|
|
CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard
|
|
CFLAGS += -Wall -mword-relocations
|
|
CFLAGS += -fomit-frame-pointer -ffast-math
|
|
CFLAGS += -D_3DS
|
|
PLATFORM_DEFINES := -D_3DS
|
|
STATIC_LINKING := 1
|
|
else
|
|
TARGET := retro.dll
|
|
CC = gcc
|
|
fpic :=
|
|
LD_FLAGS :=
|
|
SHARED := -shared -static-libgcc -static-libstdc++ -Wl,--version-script=libretro/link.T
|
|
CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__
|
|
endif
|
|
|
|
CORE_DIR := ./src
|
|
LIBRETRO_DIR := ./libretro
|
|
|
|
include Makefile.common
|
|
|
|
OBJECTS := $(SOURCES:.c=.o)
|
|
OBJECTS := $(OBJECTS:.cpp=.o)
|
|
OBJECTS := $(OBJECTS:.S=.o)
|
|
OBJECTS := $(OBJECTS:.s=.o)
|
|
|
|
CFLAGS += $(DEFINES) $(COMMON_DEFINES) $(INCLUDES)
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJECTS)
|
|
ifeq ($(STATIC_LINKING), 1)
|
|
$(AR) rcs $@ $(OBJECTS)
|
|
else
|
|
$(CC) $(fpic) $(SHARED) $(INCLUDES) -o $@ $(OBJECTS) -lm
|
|
endif
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
%.o: %.cpp
|
|
$(CXX) $(CFLAGS) -c -o $@ $<
|
|
|
|
%.o: %.s
|
|
$(CXX) $(CFLAGS) -Wa,-I./src/ -c -o $@ $<
|
|
|
|
%.o: %.S
|
|
$(CXX) $(CFLAGS) -Wa,-I./src/ -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(OBJECTS) $(TARGET)
|
|
|
|
.PHONY: clean
|
|
|