more makefile fun

This commit is contained in:
Andre Leiradella 2015-08-02 18:20:40 -03:00
parent 8b4d4045c2
commit d12f05a189
22 changed files with 390 additions and 255 deletions

1
Makefile Normal file
View File

@ -0,0 +1 @@
include Makefile.libretro

View File

@ -1,3 +1,40 @@
CORE_DIR = .
BUILD_DIR = build
ifeq ($(platform),android-arm64_v8a)
include $(BUILD_DIR)/Makefile.android-arm64_v8a
else ifeq ($(platform),android-armeabi)
include $(BUILD_DIR)/Makefile.android-armeabi
else ifeq ($(platform),android-armeabi_v7a)
include $(BUILD_DIR)/Makefile.android-armeabi_v7a
else ifeq ($(platform),android-mips)
include $(BUILD_DIR)/Makefile.android-mips
else ifeq ($(platform),android-mips64)
include $(BUILD_DIR)/Makefile.android-mips64
else ifeq ($(platform),android-x86)
include $(BUILD_DIR)/Makefile.android-x86
else ifeq ($(platform),android-x86_64)
include $(BUILD_DIR)/Makefile.android-x86_64
else ifeq ($(platform),linux_portable-x86)
include $(BUILD_DIR)/Makefile.linux_portable-x86
else ifeq ($(platform),linux_portable-x86_64)
include $(BUILD_DIR)/Makefile.linux_portable-x86_64
else ifeq ($(platform),linux-x86)
include $(BUILD_DIR)/Makefile.linux-x86
else ifeq ($(platform),linux-x86_64)
include $(BUILD_DIR)/Makefile.linux-x86_64
else ifeq ($(platform),mingw32)
include $(BUILD_DIR)/Makefile.mingw32
else ifeq ($(platform),mingw64)
include $(BUILD_DIR)/Makefile.mingw64
else ifeq ($(platform),wii)
include $(BUILD_DIR)/Makefile.wii
else ifeq ($(platform),windows-x86)
include $(BUILD_DIR)/Makefile.windows-x86
else ifeq ($(platform),windows-x86_64)
include $(BUILD_DIR)/Makefile.windows-x86_64
else
TARGET_NAME := 81
LOG_PERFORMANCE = 1
@ -325,3 +362,5 @@ dist-clean: clean
.PHONY: clean clean-objs dist-clean FORCE
endif
endif

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-arm64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-arm64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-mips/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-mips/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-mips64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-mips64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-x86/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-x86/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
# Works on hosts Linux, Windows and Darwin
# Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-x86_64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-x86_64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,78 +0,0 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
#############
# User config
DEBUG = 0
LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include
SOURCES_C =
ROMS =
SNAPS =
include Makefile.common
#################
# Toolchain setup
CC = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
CXX = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++
AS = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as
############
# Extensions
OBJEXT = .android_arm_v5te.o
SOEXT = .android_arm_v5te.so
################
# Platform setup
PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST
PLATCFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security
PLATCXXFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security
PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-3/arch-arm -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm
################
# libretro setup
RETRODEFS = -D__LIBRETRO__
RETROCFLAGS =
RETROCXXFLAGS =
RETROLDFLAGS =
#################
# Final variables
DEFINES = $(PLATDEFS) $(RETRODEFS)
CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES)
CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES)
LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS)
########
# Tuning
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
CXXFLAGS += -O0 -g
LDFLAGS += -g
else
CFLAGS += -O3 -DNDEBUG
CXXFLAGS += -O3 -DNDEBUG
endif
ifeq ($(LOG_PERFORMANCE), 1)
CFLAGS += -DLOG_PERFORMANCE
CXXFLAGS += -DLOG_PERFORMANCE
endif
###############
# Include rules
include Makefile.rules

View File

@ -1,78 +0,0 @@
##############
# Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it
#############
# User config
DEBUG = 0
LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include
SOURCES_C =
ROMS =
SNAPS =
include Makefile.common
#################
# Toolchain setup
CC = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
CXX = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++
AS = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as
############
# Extensions
OBJEXT = .android_arm_v7a.o
SOEXT = .android_arm_v7a.so
################
# Platform setup
PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST
PLATCFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security
PLATCXXFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security
PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-3/arch-arm -lgcc -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm
################
# libretro setup
RETRODEFS = -D__LIBRETRO__
RETROCFLAGS =
RETROCXXFLAGS =
RETROLDFLAGS =
#################
# Final variables
DEFINES = $(PLATDEFS) $(RETRODEFS)
CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES)
CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES)
LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS)
########
# Tuning
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
CXXFLAGS += -O0 -g
LDFLAGS += -g
else
CFLAGS += -O3 -DNDEBUG
CXXFLAGS += -O3 -DNDEBUG
endif
ifeq ($(LOG_PERFORMANCE), 1)
CFLAGS += -DLOG_PERFORMANCE
CXXFLAGS += -DLOG_PERFORMANCE
endif
###############
# Include rules
include Makefile.rules

84
build/Makefile.linux-x86 Normal file
View File

@ -0,0 +1,84 @@
##############
# Works on hosts Linux
# apt-get install g++-multilib libc6-dev-i386
#############
# User config
DEBUG = 0
LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
CC = gcc
CXX = g++
AS = as
AR = ar
############
# Extensions
OBJEXT = .linux_x86.o
SOEXT = .linux_x86.so
################
# Platform setup
STATIC_LINKING = 0
platform = unix
PLATDEFS =
PLATCFLAGS = -m32 -fpic -fstrict-aliasing
PLATCXXFLAGS = -m32 -fpic -fstrict-aliasing
PLATLDFLAGS = -m32 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined
PLATLDXFLAGS = -m32 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined
################
# libretro setup
RETRODEFS = -D__LIBRETRO__
RETROCFLAGS =
RETROCXXFLAGS =
RETROLDFLAGS =
RETROLDXFLAGS =
#################
# Final variables
DEFINES = $(PLATDEFS) $(RETRODEFS)
CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES)
CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES)
LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS)
LDXFLAGS = $(PLATLDXFLAGS) $(RETROLDXFLAGS)
########
# Tuning
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
CXXFLAGS += -O0 -g
LDFLAGS += -g
LDXFLAGS += -g
else
CFLAGS += -O3 -DNDEBUG
CXXFLAGS += -O3 -DNDEBUG
endif
ifeq ($(LOG_PERFORMANCE), 1)
CFLAGS += -DLOG_PERFORMANCE
CXXFLAGS += -DLOG_PERFORMANCE
endif
###############
# Include rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -0,0 +1,84 @@
##############
# Works on hosts Linux
#
#############
# User config
DEBUG = 0
LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
CC = gcc
CXX = g++
AS = as
AR = ar
############
# Extensions
OBJEXT = .linux_x86_64.o
SOEXT = .linux_x86_64.so
################
# Platform setup
STATIC_LINKING = 0
platform = unix
PLATDEFS =
PLATCFLAGS = -m64 -fpic -fstrict-aliasing
PLATCXXFLAGS = -m64 -fpic -fstrict-aliasing
PLATLDFLAGS = -m64 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined
PLATLDXFLAGS = -m64 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined
################
# libretro setup
RETRODEFS = -D__LIBRETRO__
RETROCFLAGS =
RETROCXXFLAGS =
RETROLDFLAGS =
RETROLDXFLAGS =
#################
# Final variables
DEFINES = $(PLATDEFS) $(RETRODEFS)
CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES)
CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES)
LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS)
LDXFLAGS = $(PLATLDXFLAGS) $(RETROLDXFLAGS)
########
# Tuning
ifeq ($(DEBUG), 1)
CFLAGS += -O0 -g
CXXFLAGS += -O0 -g
LDFLAGS += -g
LDXFLAGS += -g
else
CFLAGS += -O3 -DNDEBUG
CXXFLAGS += -O3 -DNDEBUG
endif
ifeq ($(LOG_PERFORMANCE), 1)
CFLAGS += -DLOG_PERFORMANCE
CXXFLAGS += -DLOG_PERFORMANCE
endif
###############
# Include rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,4 +1,5 @@
##############
# Works on hosts Linux
# apt-get install g++-multilib libc6-dev-i386
#############
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -37,8 +39,8 @@ platform = unix
PLATDEFS =
PLATCFLAGS = -m32 -fpic -fstrict-aliasing
PLATCXXFLAGS = -m32 -fpic -fstrict-aliasing
PLATLDFLAGS = -m32 -shared -lm
PLATLDXFLAGS = -m32 -shared -lm
PLATLDFLAGS = -m32 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T
PLATLDXFLAGS = -m32 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T
################
# libretro setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,4 +1,5 @@
##############
# Works on hosts Linux
#
#############
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -37,8 +39,8 @@ platform = unix
PLATDEFS =
PLATCFLAGS = -m64 -fpic -fstrict-aliasing
PLATCXXFLAGS = -m64 -fpic -fstrict-aliasing
PLATLDFLAGS = -m64 -shared -lm
PLATLDXFLAGS = -m64 -shared -lm
PLATLDFLAGS = -m64 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T
PLATLDXFLAGS = -m64 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T
################
# libretro setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,4 +1,5 @@
##############
# Works on hosts Windows
# Install MSYS2
#############
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -37,8 +39,8 @@ platform = win
PLATDEFS =
PLATCFLAGS = -m32 -fpic -fstrict-aliasing
PLATCXXFLAGS = -m32 -fpic -fstrict-aliasing
PLATLDFLAGS = -shared -lm
PLATLDXFLAGS = -shared -lm
PLATLDFLAGS = -m32 -shared -lm
PLATLDXFLAGS = -m32 -shared -lm
################
# libretro setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,4 +1,5 @@
##############
# Works on hosts Windows
# Install MSYS2
#############
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -37,8 +39,8 @@ platform = win
PLATDEFS =
PLATCFLAGS = -m64 -fpic -fstrict-aliasing
PLATCXXFLAGS = -m64 -fpic -fstrict-aliasing
PLATLDFLAGS = -shared -lm
PLATLDXFLAGS = -shared -lm
PLATLDFLAGS = -m64 -shared -lm
PLATLDXFLAGS = -m64 -shared -lm
################
# libretro setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -8,6 +8,7 @@ DEFINES +=
CFLAGS += -Wall
CXXFLAGS += -Wall
LDFLAGS +=
LDXFLAGS +=
HEADERS = $(ROMS:.rom=.h) $(SNAPS:.z81=.h)
OBJS = $(SOURCES_C:.c=$(OBJEXT)) $(SOURCES_CXX:.cpp=$(OBJEXT))

View File

@ -1,5 +1,6 @@
##############
# Install devkitppc and libogc
# Works on hosts Linux
# Install devkitppc
#############
# User config
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,4 +1,5 @@
##############
# Works on hosts Linux
# apt-get install mingw-w64
#############
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,4 +1,5 @@
##############
# Works on hosts Linux
# apt-get install mingw-w64
#############
@ -10,10 +11,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES =
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES =
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -79,4 +81,4 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules

View File

@ -1,5 +1,6 @@
local template = [[
##############
# Works on hosts ${HOST}
# ${HEADERMSG}
#############
@ -11,10 +12,11 @@ LOG_PERFORMANCE = 1
####################################
# Variable setup for Makefile.common
CORE_DIR = ..
INCLUDES = ${PLAT_INCDIR}
CORE_DIR ?= ..
BUILD_DIR ?= .
INCLUDES = ${PLAT_INCDIR}
include Makefile.common
include $(BUILD_DIR)/Makefile.common
#################
# Toolchain setup
@ -80,7 +82,7 @@ endif
###############
# Include rules
include Makefile.rules
include $(BUILD_DIR)/Makefile.rules
]]
--local host = 'linux-x86_64'
@ -91,8 +93,9 @@ local host = '$(NDK_PLATFORM)-x86_64'
local platforms = {
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_arm64_v8a = {
MAKEFILE = 'Makefile.android_arm64_v8a',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-arm64_v8a',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/aarch64-linux-android-4.9/prebuilt/' .. host .. '/bin/aarch64-linux-android-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/aarch64-linux-android-4.9/prebuilt/' .. host .. '/bin/aarch64-linux-android-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/aarch64-linux-android-4.9/prebuilt/' .. host .. '/bin/aarch64-linux-android-as',
@ -109,8 +112,9 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_x86_64 = {
MAKEFILE = 'Makefile.android_x86_64',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-x86_64',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/x86_64-4.9/prebuilt/' .. host .. '/bin/x86_64-linux-android-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/x86_64-4.9/prebuilt/' .. host .. '/bin/x86_64-linux-android-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/x86_64-4.9/prebuilt/' .. host .. '/bin/x86_64-linux-android-as',
@ -127,8 +131,9 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_mips64 = {
MAKEFILE = 'Makefile.android_mips64',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-mips64',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/mips64el-linux-android-4.9/prebuilt/' .. host .. '/bin/mips64el-linux-android-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/mips64el-linux-android-4.9/prebuilt/' .. host .. '/bin/mips64el-linux-android-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/mips64el-linux-android-4.9/prebuilt/' .. host .. '/bin/mips64el-linux-android-as',
@ -145,8 +150,9 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_arm_v7a = {
MAKEFILE = 'Makefile.android_armeabi-v7a',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-armeabi_v7a',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/' .. host .. '/bin/arm-linux-androideabi-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/' .. host .. '/bin/arm-linux-androideabi-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/' .. host .. '/bin/arm-linux-androideabi-as',
@ -163,8 +169,9 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_arm_v5te = {
MAKEFILE = 'Makefile.android_armeabi',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-armeabi',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/' .. host .. '/bin/arm-linux-androideabi-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/' .. host .. '/bin/arm-linux-androideabi-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/' .. host .. '/bin/arm-linux-androideabi-as',
@ -181,8 +188,9 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_x86 = {
MAKEFILE = 'Makefile.android_x86',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-x86',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/' .. host .. '/bin/i686-linux-android-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/' .. host .. '/bin/i686-linux-android-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/' .. host .. '/bin/i686-linux-android-as',
@ -199,8 +207,9 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
android_mips = {
MAKEFILE = 'Makefile.android_mips',
HEADERMSG = 'Download android-ndk-r10d-linux-x86_64.bin from https://developer.android.com/tools/sdk/ndk/index.html, unpack somewhere, and set NDK_ROOT_DIR to it',
MAKEFILE = 'Makefile.android-mips',
HOST = 'Linux, Windows and Darwin',
HEADERMSG = 'Download the Android NDK, unpack somewhere, set NDK_ROOT_DIR to it, and set NDK_PLATFORM to your host: linux, windows or darwin',
CC = '$(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/' .. host .. '/bin/mipsel-linux-android-gcc',
CXX = '$(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/' .. host .. '/bin/mipsel-linux-android-g++',
AS = '$(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/' .. host .. '/bin/mipsel-linux-android-as',
@ -217,7 +226,8 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
linux_x86 = {
MAKEFILE = 'Makefile.linux_x86',
MAKEFILE = 'Makefile.linux-x86',
HOST = 'Linux',
HEADERMSG = 'apt-get install g++-multilib libc6-dev-i386',
CC = 'gcc',
CXX = 'g++',
@ -230,12 +240,32 @@ local platforms = {
PLAT_DEFS = '',
PLAT_CFLAGS = '-m32 -fpic -fstrict-aliasing',
PLAT_CXXFLAGS = '${PLAT_CFLAGS}',
PLAT_LDFLAGS = '-m32 -shared -lm',
PLAT_LDFLAGS = '-m32 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined',
PLAT_LDXFLAGS = '${PLAT_LDFLAGS}',
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
linux_portable_x86 = {
MAKEFILE = 'Makefile.linux_portable-x86',
HOST = 'Linux',
HEADERMSG = 'apt-get install g++-multilib libc6-dev-i386',
CC = 'gcc',
CXX = 'g++',
AS = 'as',
AR = 'ar',
EXT = 'linux_x86',
SO = 'so',
PLATFORM = 'unix',
PLAT_INCDIR = '',
PLAT_DEFS = '',
PLAT_CFLAGS = '-m32 -fpic -fstrict-aliasing',
PLAT_CXXFLAGS = '${PLAT_CFLAGS}',
PLAT_LDFLAGS = '-m32 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T',
PLAT_LDXFLAGS = '${PLAT_LDFLAGS}',
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
linux_x86_64 = {
MAKEFILE = 'Makefile.linux_x86_64',
MAKEFILE = 'Makefile.linux-x86_64',
HOST = 'Linux',
HEADERMSG = '',
CC = 'gcc',
CXX = 'g++',
@ -248,12 +278,32 @@ local platforms = {
PLAT_DEFS = '',
PLAT_CFLAGS = '-m64 -fpic -fstrict-aliasing',
PLAT_CXXFLAGS = '${PLAT_CFLAGS}',
PLAT_LDFLAGS = '-m64 -shared -lm',
PLAT_LDFLAGS = '-m64 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T -Wl,-no-undefined',
PLAT_LDXFLAGS = '${PLAT_LDFLAGS}',
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
linux_portable_x86_64 = {
MAKEFILE = 'Makefile.linux_portable-x86_64',
HOST = 'Linux',
HEADERMSG = '',
CC = 'gcc',
CXX = 'g++',
AS = 'as',
AR = 'ar',
EXT = 'linux_x86_64',
SO = 'so',
PLATFORM = 'unix',
PLAT_INCDIR = '',
PLAT_DEFS = '',
PLAT_CFLAGS = '-m64 -fpic -fstrict-aliasing',
PLAT_CXXFLAGS = '${PLAT_CFLAGS}',
PLAT_LDFLAGS = '-m64 -shared -lm -Wl,-version-script=$(BUILD_DIR)/link.T',
PLAT_LDXFLAGS = '${PLAT_LDFLAGS}',
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
windows_x86 = {
MAKEFILE = 'Makefile.windows_x86',
MAKEFILE = 'Makefile.windows-x86',
HOST = 'Linux',
HEADERMSG = 'apt-get install mingw-w64',
CC = 'i686-w64-mingw32-gcc',
CXX = 'i686-w64-mingw32-g++',
@ -271,7 +321,8 @@ local platforms = {
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
windows_x86_64 = {
MAKEFILE = 'Makefile.windows_x86_64',
MAKEFILE = 'Makefile.windows-x86_64',
HOST = 'Linux',
HEADERMSG = 'apt-get install mingw-w64',
CC = 'x86_64-w64-mingw32-gcc',
CXX = 'x86_64-w64-mingw32-g++',
@ -290,6 +341,7 @@ local platforms = {
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mingw32 = {
MAKEFILE = 'Makefile.mingw32',
HOST = 'Windows',
HEADERMSG = 'Install MSYS2',
CC = 'gcc',
CXX = 'g++',
@ -302,12 +354,13 @@ local platforms = {
PLAT_DEFS = '',
PLAT_CFLAGS = '-m32 -fpic -fstrict-aliasing',
PLAT_CXXFLAGS = '${PLAT_CFLAGS}',
PLAT_LDFLAGS = '-shared -lm',
PLAT_LDFLAGS = '-m32 -shared -lm',
PLAT_LDXFLAGS = '${PLAT_LDFLAGS}',
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mingw64 = {
MAKEFILE = 'Makefile.mingw64',
HOST = 'Windows',
HEADERMSG = 'Install MSYS2',
CC = 'gcc',
CXX = 'g++',
@ -320,13 +373,14 @@ local platforms = {
PLAT_DEFS = '',
PLAT_CFLAGS = '-m64 -fpic -fstrict-aliasing',
PLAT_CXXFLAGS = '${PLAT_CFLAGS}',
PLAT_LDFLAGS = '-shared -lm',
PLAT_LDFLAGS = '-m64 -shared -lm',
PLAT_LDXFLAGS = '${PLAT_LDFLAGS}',
},
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
wii = {
MAKEFILE = 'Makefile.wii',
HEADERMSG = 'Install devkitppc and libogc',
HOST = 'Linux',
HEADERMSG = 'Install devkitppc',
CC = '$(DEVKITPPC_ROOT_DIR)/bin/powerpc-eabi-gcc',
CXX = '$(DEVKITPPC_ROOT_DIR)/bin/powerpc-eabi-g++',
AS = '$(DEVKITPPC_ROOT_DIR)/bin/powerpc-eabi-as',