mirror of
https://github.com/libretro/mame2003-libretro.git
synced 2025-02-17 05:47:55 +00:00
Update to new Makefile
This commit is contained in:
parent
048ad9207f
commit
bcdff2e438
303
Makefile
303
Makefile
@ -1,12 +1,184 @@
|
||||
# set this to mame, mess or the destination you want to build
|
||||
# TARGET = mame
|
||||
# TARGET = mess
|
||||
# TARGET = mmsnd
|
||||
# example for a tiny compile
|
||||
# TARGET = tiny
|
||||
ifeq ($(TARGET),)
|
||||
TARGET = mame
|
||||
CORE_DIR := src
|
||||
TARGET_NAME := mame2003
|
||||
|
||||
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
|
||||
ifeq ($(shell uname -p),powerpc)
|
||||
arch = ppc
|
||||
else
|
||||
arch = intel
|
||||
endif
|
||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
system_platform = win
|
||||
endif
|
||||
|
||||
|
||||
LIBM := -lm
|
||||
|
||||
ifeq ($(platform), unix)
|
||||
TARGET = $(TARGET_NAME)_libretro.so
|
||||
fpic = -fPIC
|
||||
|
||||
CFLAGS += $(fpic)
|
||||
PLATCFLAGS += -Dstricmp=strcasecmp
|
||||
LDFLAGS += $(fpic) -shared -Wl,--version-script=link.T
|
||||
|
||||
else ifeq ($(platform), linux-portable)
|
||||
TARGET = $(TARGET_NAME)_libretro.so
|
||||
fpic = -fPIC -nostdlib
|
||||
|
||||
CFLAGS += $(fpic)
|
||||
PLATCFLAGS += -Dstricmp=strcasecmp
|
||||
LIBM :=
|
||||
LDFLAGS += $(fpic) -shared -Wl,--version-script=link.T
|
||||
|
||||
else ifeq ($(platform), osx)
|
||||
TARGET = $(TARGET_NAME)_libretro.dylib
|
||||
fpic = -fPIC
|
||||
ifeq ($(arch),ppc)
|
||||
BIGENDIAN = 1
|
||||
PLATCFLAGS += -D__ppc__ -D__POWERPC__
|
||||
endif
|
||||
CFLAGS += $(fpic) -Dstricmp=strcasecmp
|
||||
LDFLAGS += $(fpic) -dynamiclib
|
||||
OSXVER = `sw_vers -productVersion | cut -c 4`
|
||||
fpic += -mmacosx-version-min=10.1
|
||||
|
||||
# iOS
|
||||
else ifneq (,$(findstring ios,$(platform)))
|
||||
|
||||
TARGET = $(TARGET_NAME)_libretro_ios.dylib
|
||||
fpic = -fPIC
|
||||
CFLAGS += $(fpic) -Dstricmp=strcasecmp
|
||||
LDFLAGS += $(fpic) -dynamiclib
|
||||
|
||||
ifeq ($(IOSSDK),)
|
||||
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
|
||||
endif
|
||||
|
||||
CC = cc -arch armv7 -isysroot $(IOSSDK)
|
||||
LD = cc -arch armv7 -isysroot $(IOSSDK)
|
||||
ifeq ($(platform),ios9)
|
||||
fpic += -miphoneos-version-min=8.0
|
||||
CC += -miphoneos-version-min=8.0
|
||||
LD += -miphoneos-version-min=8.0
|
||||
else
|
||||
fpic += -miphoneos-version-min=5.0
|
||||
CC += -miphoneos-version-min=5.0
|
||||
LD += -miphoneos-version-min=5.0
|
||||
endif
|
||||
|
||||
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)
|
||||
PLATCFLAGS += -DARM11 -D_3DS
|
||||
PLATCFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard -mfpu=vfp
|
||||
PLATCFLAGS += -Wall -mword-relocations
|
||||
PLATCFLAGS += -fomit-frame-pointer -ffast-math
|
||||
ENDIANNESS_DEFINES:=-DLSB_FIRST
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11
|
||||
CPU_ARCH := arm
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), android-armv7)
|
||||
TARGET = $(TARGET_NAME)_libretro_android.so
|
||||
|
||||
CFLAGS += -fPIC
|
||||
PLATCFLAGS += -march=armv7-a -mfloat-abi=softfp -Dstricmp=strcasecmp
|
||||
LDFLAGS += -fPIC -shared -Wl,--version-script=link.T
|
||||
|
||||
CC = arm-linux-androideabi-gcc
|
||||
AR = arm-linux-androideabi-ar
|
||||
LD = arm-linux-androideabi-gcc
|
||||
else ifeq ($(platform), qnx)
|
||||
TARGET = $(TARGET_NAME)_libretro_qnx.so
|
||||
|
||||
CFLAGS += -fPIC
|
||||
PLATCFLAGS += -march=armv7-a -Dstricmp=strcasecmp
|
||||
LDFLAGS += -fPIC -shared -Wl,--version-script=link.T
|
||||
|
||||
CC = qcc -Vgcc_ntoarmv7le
|
||||
AR = qcc -Vgcc_ntoarmv7le
|
||||
LD = QCC -Vgcc_ntoarmv7le
|
||||
else ifeq ($(platform), wii)
|
||||
TARGET = $(TARGET_NAME)_libretro_wii.a
|
||||
BIGENDIAN = 1
|
||||
|
||||
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -D__POWERPC__ -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), ps3)
|
||||
TARGET = $(TARGET_NAME)_libretro_ps3.a
|
||||
BIGENDIAN = 1
|
||||
|
||||
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
|
||||
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
|
||||
PLATCFLAGS += -D__CELLOS_LV2__ -D__ppc__ -D__POWERPC__ -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), sncps3)
|
||||
TARGET = $(TARGET_NAME)_libretro_ps3.a
|
||||
BIGENDIAN = 1
|
||||
|
||||
CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
|
||||
AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
|
||||
PLATCFLAGS += -D__CELLOS_LV2__ -D__ppc__ -D__POWERPC__ -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), psp1)
|
||||
TARGET = $(TARGET_NAME)_libretro_psp1.a
|
||||
|
||||
CC = psp-gcc$(EXE_EXT)
|
||||
AR = psp-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DPSP -Dstricmp=strcasecmp
|
||||
CFLAGS += -G0
|
||||
STATIC_LINKING = 1
|
||||
|
||||
else ifeq ($(platform), vita)
|
||||
TARGET = $(TARGET_NAME)_libretro_vita.a
|
||||
|
||||
CC = arm-vita-eabi-gcc$(EXE_EXT)
|
||||
AR = arm-vita-eabi-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DVITA -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifneq (,$(findstring armv,$(platform)))
|
||||
TARGET = $(TARGET_NAME)_libretro.so
|
||||
|
||||
CFLAGS += -fPIC
|
||||
PLATCFLAGS += -Dstricmp=strcasecmp
|
||||
LDFLAGS += -fPIC -shared -Wl,--version-script=link.T
|
||||
else
|
||||
EXE = .exe
|
||||
|
||||
LDFLAGS += -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T
|
||||
endif
|
||||
|
||||
ifeq ($(BIGENDIAN), 1)
|
||||
PLATCFLAGS += -DMSB_FIRST
|
||||
endif
|
||||
|
||||
PLATCFLAGS += $(fpic)
|
||||
|
||||
CFLAGS += -D__LIBRETRO__ -DPI=3.1415927
|
||||
LDFLAGS += $(LIBM)
|
||||
|
||||
# uncomment next line to include the debugger
|
||||
# DEBUG = 1
|
||||
@ -23,11 +195,6 @@ endif
|
||||
# uncomment next line to use DRC MIPS3 engine
|
||||
# X86_MIPS3_DRC = 1
|
||||
|
||||
MAMEOS = libretro
|
||||
|
||||
# CPU core include paths
|
||||
VPATH=src $(wildcard src/cpu/*)
|
||||
|
||||
# compiler, linker and utilities
|
||||
AR = @ar
|
||||
NATIVECC = @gcc
|
||||
@ -39,18 +206,11 @@ MD = -mkdir
|
||||
RM = @rm -f
|
||||
|
||||
|
||||
ifeq ($(MAMEOS),msdos)
|
||||
PREFIX = d
|
||||
else
|
||||
PREFIX =
|
||||
endif
|
||||
|
||||
# build the targets in different object dirs, since mess changes
|
||||
# some structures and thus they can't be linked against each other.
|
||||
OBJ = obj/mame
|
||||
DEFS = -DINLINE="static __inline__" -Dasm=__asm__
|
||||
|
||||
CFLAGS = -Isrc -Isrc/includes -Isrc/$(MAMEOS) -I$(OBJ)/cpu/m68000 -Isrc/cpu/m68000
|
||||
CFLAGS = -I$(CORE_DIR) -I$(CORE_DIR)/includes -I$(CORE_DIR)/libretro -I$(CORE_DIR)/cpu/m68000 -I$(CORE_DIR)/cpu/m68000
|
||||
|
||||
RETRO_PROFILE = 0
|
||||
CFLAGS += -DRETRO_PROFILE=$(RETRO_PROFILE)
|
||||
@ -58,7 +218,7 @@ CFLAGS += -DRETRO_PROFILE=$(RETRO_PROFILE)
|
||||
ifneq ($(platform), sncps3)
|
||||
CFLAGS += -Wall -Wno-sign-compare -Wunused \
|
||||
-Wpointer-arith -Wbad-function-cast -Wcast-align -Waggregate-return \
|
||||
-Wshadow -Wstrict-prototypes -Wundef \
|
||||
-Wshadow -Wstrict-prototypes \
|
||||
-Wformat-security -Wwrite-strings \
|
||||
-Wdisabled-optimization
|
||||
endif
|
||||
@ -75,101 +235,56 @@ CFLAGSOSDEPEND = $(CFLAGS)
|
||||
# the windows osd code at least cannot be compiled with -pedantic
|
||||
CFLAGSPEDANTIC = $(CFLAGS) -pedantic
|
||||
|
||||
ZLIBOBJS :=
|
||||
|
||||
OBJDIRS = obj $(OBJ) $(OBJ)/cpu $(OBJ)/sound $(OBJ)/$(MAMEOS) \
|
||||
$(OBJ)/drivers $(OBJ)/machine $(OBJ)/vidhrdw $(OBJ)/sndhrdw
|
||||
ifdef MESS
|
||||
OBJDIRS += $(OBJ)/mess $(OBJ)/mess/systems $(OBJ)/mess/machine \
|
||||
$(OBJ)/mess/vidhrdw $(OBJ)/mess/sndhrdw $(OBJ)/mess/tools
|
||||
endif
|
||||
|
||||
include src/$(MAMEOS)/$(MAMEOS).mak
|
||||
all: maketree $(EMULATOR)
|
||||
SOURCES_C :=
|
||||
|
||||
# include the various .mak files
|
||||
include Makefile.common
|
||||
|
||||
ifdef DEBUG
|
||||
DBGDEFS = -DMAME_DEBUG
|
||||
else
|
||||
DBGDEFS =
|
||||
DBGOBJS =
|
||||
endif
|
||||
|
||||
all: $(TARGET)
|
||||
# platform .mak files will want to add to this
|
||||
ifeq ($(STATIC_LINKING),1)
|
||||
CFLAGS += -Isrc/libretro/includes/zlib
|
||||
CFLAGS += -I$(CORE_DIR)/libretro/includes/zlib
|
||||
else
|
||||
ZLIBOBJS := deps/zlib/adler32.c \
|
||||
deps/zlib/compress.c \
|
||||
deps/zlib/crc32.c \
|
||||
deps/zlib/deflate.c \
|
||||
deps/zlib/gzclose.c \
|
||||
deps/zlib/gzlib.c \
|
||||
deps/zlib/gzread.c \
|
||||
deps/zlib/gzwrite.c \
|
||||
deps/zlib/inffast.c \
|
||||
deps/zlib/inflate.c \
|
||||
deps/zlib/inftrees.c \
|
||||
deps/zlib/trees.c \
|
||||
deps/zlib/uncompr.c \
|
||||
deps/zlib/zutil.c \
|
||||
deps/zlib/ioapi.c \
|
||||
deps/zlib/unzip.c
|
||||
SOURCES_C += deps/zlib/adler32.c \
|
||||
deps/zlib/compress.c \
|
||||
deps/zlib/crc32.c \
|
||||
deps/zlib/deflate.c \
|
||||
deps/zlib/gzclose.c \
|
||||
deps/zlib/gzlib.c \
|
||||
deps/zlib/gzread.c \
|
||||
deps/zlib/gzwrite.c \
|
||||
deps/zlib/inffast.c \
|
||||
deps/zlib/inflate.c \
|
||||
deps/zlib/inftrees.c \
|
||||
deps/zlib/trees.c \
|
||||
deps/zlib/uncompr.c \
|
||||
deps/zlib/zutil.c \
|
||||
deps/zlib/ioapi.c \
|
||||
deps/zlib/unzip.c
|
||||
endif
|
||||
|
||||
# combine the various definitions to one
|
||||
CDEFS = $(DEFS) $(COREDEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS)
|
||||
|
||||
OBJECTS := $(SOURCES_C:.c=.o)
|
||||
|
||||
# primary target
|
||||
$(EMULATOR): $(OBJS) $(COREOBJS) $(OSOBJS) $(ZLIBOBJS) $(DRVLIBS)
|
||||
$(TARGET): $(OBJECTS)
|
||||
ifeq ($(STATIC_LINKING),1)
|
||||
@echo Archiving $@...
|
||||
$(AR) rcs $@ $(OBJS) $(COREOBJS) $(OSOBJS) $(ZLIBOBJS) $(DRVLIBS)
|
||||
$(AR) rcs $@ $(OBJECTS)
|
||||
else
|
||||
@echo Linking $@...
|
||||
$(LD) $(LDFLAGS) $(OBJS) $(COREOBJS) $(OSOBJS) $(ZLIBOBJS) $(LIBS) $(DRVLIBS) -o $@
|
||||
$(CC) $(CDEFS) $(CFLAGSOSDEPEND) $(PLATCFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
|
||||
endif
|
||||
|
||||
$(OBJ)/$(MAMEOS)/%.o: src/$(MAMEOS)/%.c
|
||||
$(CC) $(CDEFS) $(CFLAGSOSDEPEND) $(PLATCFLAGS) -c $< -o $@
|
||||
|
||||
$(OBJ)/%.o: src/%.c
|
||||
$(CC) $(CDEFS) $(CFLAGS) $(PLATCFLAGS) -c $< -o $@
|
||||
|
||||
# generated asm files for the 68000 emulator
|
||||
$(OBJ)/cpu/m68000/68000.o: $(OBJ)/cpu/m68000/68000.asm
|
||||
@echo Assembling $<...
|
||||
$(ASM) -o $@ $(ASMFLAGS) $(subst -D,-d,$(ASMDEFS)) $<
|
||||
|
||||
$(OBJ)/cpu/m68000/68020.o: $(OBJ)/cpu/m68000/68020.asm
|
||||
@echo Assembling $<...
|
||||
$(ASM) -o $@ $(ASMFLAGS) $(subst -D,-d,$(ASMDEFS)) $<
|
||||
%.o: %.c
|
||||
$(CC) $(CDEFS) $(CFLAGS) $(PLATCFLAGS) -c -o $@ $<
|
||||
|
||||
$(OBJ)/%.a:
|
||||
@echo Archiving $@...
|
||||
$(RM) $@
|
||||
$(AR) cr $@ $^
|
||||
|
||||
makedir:
|
||||
@echo make makedir is no longer necessary, just type make
|
||||
|
||||
$(sort $(OBJDIRS)):
|
||||
$(MD) $@
|
||||
|
||||
maketree: $(sort $(OBJDIRS))
|
||||
|
||||
clean:
|
||||
@echo Deleting object tree $(OBJ)...
|
||||
$(RM) -r $(OBJ)
|
||||
@echo Deleting $(EMULATOR)...
|
||||
$(RM) $(EMULATOR)
|
||||
|
||||
clean68k:
|
||||
@echo Deleting 68k files...
|
||||
$(RM) -r $(OBJ)/cpuintrf.o
|
||||
$(RM) -r $(OBJ)/drivers/cps2.o
|
||||
$(RM) -r $(OBJ)/cpu/m68000
|
||||
|
||||
|
||||
rm -f $(OBJECTS) $(TARGET)
|
||||
|
2569
Makefile.common
2569
Makefile.common
File diff suppressed because it is too large
Load Diff
35
src/core.mak
35
src/core.mak
@ -1,35 +0,0 @@
|
||||
# the core object files (without target specific objects;
|
||||
# those are added in the target.mak files)
|
||||
COREOBJS = $(OBJ)/mame.o \
|
||||
$(OBJ)/drawgfx.o $(OBJ)/common.o $(OBJ)/usrintrf.o $(OBJ)/ui_text.o \
|
||||
$(OBJ)/cpuintrf.o $(OBJ)/cpuexec.o $(OBJ)/cpuint.o $(OBJ)/mame-memory.o $(OBJ)/timer.o \
|
||||
$(OBJ)/palette.o $(OBJ)/input.o $(OBJ)/inptport.o $(OBJ)/config.o $(OBJ)/mame_unzip.o \
|
||||
$(OBJ)/audit.o $(OBJ)/info.o $(OBJ)/png.o $(OBJ)/artwork.o \
|
||||
$(OBJ)/tilemap.o $(OBJ)/fileio.o \
|
||||
$(OBJ)/state.o $(OBJ)/datafile.o $(OBJ)/hiscore.o \
|
||||
$(sort $(CPUOBJS)) \
|
||||
$(OBJ)/sndintrf.o \
|
||||
$(OBJ)/sound/streams.o $(OBJ)/sound/mixer.o $(OBJ)/sound/filter.o \
|
||||
$(sort $(SOUNDOBJS)) \
|
||||
$(OBJ)/sound/votrax.o \
|
||||
$(OBJ)/machine/tmp68301.o \
|
||||
$(OBJ)/machine/6532riot.o \
|
||||
$(OBJ)/machine/z80fmly.o $(OBJ)/machine/6821pia.o \
|
||||
$(OBJ)/machine/8255ppi.o $(OBJ)/machine/7474.o \
|
||||
$(OBJ)/machine/74123.o $(OBJ)/machine/74153.o \
|
||||
$(OBJ)/machine/74148.o \
|
||||
$(OBJ)/vidhrdw/generic.o $(OBJ)/vidhrdw/vector.o \
|
||||
$(OBJ)/vidhrdw/avgdvg_vidhrdw.o $(OBJ)/machine/mathbox.o \
|
||||
$(OBJ)/vidhrdw/poly.o $(OBJ)/vidhrdw/matrix3d.o \
|
||||
$(OBJ)/vidhrdw/tlc34076.o \
|
||||
$(OBJ)/machine/ticket.o $(OBJ)/machine/eeprom.o \
|
||||
$(OBJ)/machine/6522via.o $(OBJ)/machine/mb87078.o \
|
||||
$(OBJ)/machine/random.o \
|
||||
$(OBJ)/mamedbg.o $(OBJ)/window.o \
|
||||
$(OBJ)/profiler.o \
|
||||
$(OBJ)/hash.o $(OBJ)/sha1.o \
|
||||
$(OBJ)/chd.o $(OBJ)/harddisk.o $(OBJ)/md5.o $(OBJ)/machine/idectrl.o \
|
||||
$(OBJ)/sound/wavwrite.o \
|
||||
$(OBJ)/x86drc.o \
|
||||
$(sort $(DBGOBJS))
|
||||
|
@ -1,181 +0,0 @@
|
||||
OSOBJS = $(OBJ)/libretro/libretro.o $(OBJ)/libretro/osd.o $(OBJ)/libretro/keyboard.o $(OBJ)/libretro/joystick.o \
|
||||
$(OBJ)/libretro/video.o
|
||||
|
||||
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
|
||||
ifeq ($(shell uname -p),powerpc)
|
||||
arch = ppc
|
||||
else
|
||||
arch = intel
|
||||
endif
|
||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||
system_platform = win
|
||||
endif
|
||||
|
||||
TARGET_NAME := mame2003
|
||||
|
||||
LIBM := -lm
|
||||
|
||||
ifeq ($(platform), unix)
|
||||
EMULATOR = $(TARGET_NAME)_libretro.so
|
||||
fpic = -fPIC
|
||||
|
||||
CFLAGS += $(fpic)
|
||||
PLATCFLAGS += -Dstricmp=strcasecmp
|
||||
LDFLAGS += $(fpic) -shared -Wl,--version-script=src/libretro/link.T
|
||||
|
||||
else ifeq ($(platform), linux-portable)
|
||||
EMULATOR = $(TARGET_NAME)_libretro.so
|
||||
fpic = -fPIC -nostdlib
|
||||
|
||||
CFLAGS += $(fpic)
|
||||
PLATCFLAGS += -Dstricmp=strcasecmp
|
||||
LIBM :=
|
||||
LDFLAGS += $(fpic) -shared -Wl,--version-script=src/libretro/link.T
|
||||
|
||||
else ifeq ($(platform), osx)
|
||||
EMULATOR = $(TARGET_NAME)_libretro.dylib
|
||||
fpic = -fPIC
|
||||
ifeq ($(arch),ppc)
|
||||
BIGENDIAN = 1
|
||||
PLATCFLAGS += -D__ppc__ -D__POWERPC__
|
||||
endif
|
||||
CFLAGS += $(fpic) -Dstricmp=strcasecmp
|
||||
LDFLAGS += $(fpic) -dynamiclib
|
||||
OSXVER = `sw_vers -productVersion | cut -c 4`
|
||||
fpic += -mmacosx-version-min=10.1
|
||||
|
||||
# iOS
|
||||
else ifneq (,$(findstring ios,$(platform)))
|
||||
|
||||
EMULATOR = $(TARGET_NAME)_libretro_ios.dylib
|
||||
fpic = -fPIC
|
||||
CFLAGS += $(fpic) -Dstricmp=strcasecmp
|
||||
LDFLAGS += $(fpic) -dynamiclib
|
||||
|
||||
ifeq ($(IOSSDK),)
|
||||
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
|
||||
endif
|
||||
|
||||
CC = cc -arch armv7 -isysroot $(IOSSDK)
|
||||
LD = cc -arch armv7 -isysroot $(IOSSDK)
|
||||
ifeq ($(platform),ios9)
|
||||
fpic += -miphoneos-version-min=8.0
|
||||
CC += -miphoneos-version-min=8.0
|
||||
LD += -miphoneos-version-min=8.0
|
||||
else
|
||||
fpic += -miphoneos-version-min=5.0
|
||||
CC += -miphoneos-version-min=5.0
|
||||
LD += -miphoneos-version-min=5.0
|
||||
endif
|
||||
|
||||
else ifeq ($(platform), ctr)
|
||||
EMULATOR = $(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)
|
||||
PLATCFLAGS += -DARM11 -D_3DS
|
||||
PLATCFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard -mfpu=vfp
|
||||
PLATCFLAGS += -Wall -mword-relocations
|
||||
PLATCFLAGS += -fomit-frame-pointer -ffast-math
|
||||
ENDIANNESS_DEFINES:=-DLSB_FIRST
|
||||
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11
|
||||
CPU_ARCH := arm
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), android-armv7)
|
||||
EMULATOR = $(TARGET_NAME)_libretro_android.so
|
||||
|
||||
CFLAGS += -fPIC
|
||||
PLATCFLAGS += -march=armv7-a -mfloat-abi=softfp -Dstricmp=strcasecmp
|
||||
LDFLAGS += -fPIC -shared -Wl,--version-script=src/libretro/link.T
|
||||
|
||||
CC = arm-linux-androideabi-gcc
|
||||
AR = arm-linux-androideabi-ar
|
||||
LD = arm-linux-androideabi-gcc
|
||||
else ifeq ($(platform), qnx)
|
||||
EMULATOR = $(TARGET_NAME)_libretro_qnx.so
|
||||
|
||||
CFLAGS += -fPIC
|
||||
PLATCFLAGS += -march=armv7-a -Dstricmp=strcasecmp
|
||||
LDFLAGS += -fPIC -shared -Wl,--version-script=src/libretro/link.T
|
||||
|
||||
CC = qcc -Vgcc_ntoarmv7le
|
||||
AR = qcc -Vgcc_ntoarmv7le
|
||||
LD = QCC -Vgcc_ntoarmv7le
|
||||
else ifeq ($(platform), wii)
|
||||
EMULATOR = $(TARGET_NAME)_libretro_wii.a
|
||||
BIGENDIAN = 1
|
||||
|
||||
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -D__POWERPC__ -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), ps3)
|
||||
EMULATOR = $(TARGET_NAME)_libretro_ps3.a
|
||||
BIGENDIAN = 1
|
||||
|
||||
CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe
|
||||
AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe
|
||||
PLATCFLAGS += -D__CELLOS_LV2__ -D__ppc__ -D__POWERPC__ -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), sncps3)
|
||||
EMULATOR = $(TARGET_NAME)_libretro_ps3.a
|
||||
BIGENDIAN = 1
|
||||
|
||||
CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe
|
||||
AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe
|
||||
PLATCFLAGS += -D__CELLOS_LV2__ -D__ppc__ -D__POWERPC__ -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifeq ($(platform), psp1)
|
||||
EMULATOR = libretro_psp1.a
|
||||
|
||||
CC = psp-gcc$(EXE_EXT)
|
||||
AR = psp-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DPSP -Dstricmp=strcasecmp
|
||||
CFLAGS += -G0
|
||||
STATIC_LINKING = 1
|
||||
|
||||
else ifeq ($(platform), vita)
|
||||
EMULATOR = libretro_vita.a
|
||||
|
||||
CC = arm-vita-eabi-gcc$(EXE_EXT)
|
||||
AR = arm-vita-eabi-ar$(EXE_EXT)
|
||||
PLATCFLAGS += -DVITA -Dstricmp=strcasecmp
|
||||
STATIC_LINKING = 1
|
||||
else ifneq (,$(findstring armv,$(platform)))
|
||||
EMULATOR = $(TARGET_NAME)_libretro.so
|
||||
|
||||
CFLAGS += -fPIC
|
||||
PLATCFLAGS += -Dstricmp=strcasecmp
|
||||
LDFLAGS += -fPIC -shared -Wl,--version-script=src/libretro/link.T
|
||||
else
|
||||
EMULATOR = $(TARGET_NAME)_libretro.dll
|
||||
EXE = .exe
|
||||
|
||||
LDFLAGS += -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=src/libretro/link.T
|
||||
endif
|
||||
|
||||
ifeq ($(BIGENDIAN), 1)
|
||||
PLATCFLAGS += -DMSB_FIRST
|
||||
endif
|
||||
|
||||
CFLAGS += -D__LIBRETRO__ -DPI=3.1415927
|
||||
LDFLAGS += $(LIBM)
|
1103
src/mame.mak
1103
src/mame.mak
File diff suppressed because it is too large
Load Diff
1560
src/rules.mak
1560
src/rules.mak
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user