mirror of
https://github.com/libretro/libretro-chailove.git
synced 2024-11-30 03:30:26 +00:00
222 lines
10 KiB
Makefile
222 lines
10 KiB
Makefile
# ChaiLove
|
|
SOURCES_CXX := $(wildcard \
|
|
$(CORE_DIR)/src/*.cpp \
|
|
$(CORE_DIR)/src/love/*.cpp \
|
|
$(CORE_DIR)/src/love/Types/Audio/*.cpp \
|
|
$(CORE_DIR)/src/love/Types/Config/*.cpp \
|
|
$(CORE_DIR)/src/love/Types/FileSystem/*.cpp \
|
|
$(CORE_DIR)/src/love/Types/Graphics/*.cpp \
|
|
$(CORE_DIR)/src/love/Types/Input/*.cpp \
|
|
)
|
|
SOURCES_C =
|
|
SOURCES_S =
|
|
FLAGS += -Wfatal-errors
|
|
|
|
# random
|
|
FLAGS += -I$(CORE_DIR)/vendor/random/include
|
|
|
|
# libretro-common
|
|
FLAGS += -I$(CORE_DIR)/vendor/libretro-common/include \
|
|
-DHAVE_RWAV=1
|
|
# Only compile libretro-common when not STATIC_LINKING
|
|
ifneq ($(STATIC_LINKING), 1)
|
|
SOURCES_C += $(wildcard \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/audio_mix.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/audio_mixer.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/conversion/*.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/resampler/audio_resampler.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/resampler/drivers/nearest_resampler.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/resampler/drivers/null_resampler.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/resampler/drivers/sinc_resampler.c \
|
|
$(CORE_DIR)/vendor/libretro-common/compat/compat_posix_string.c \
|
|
$(CORE_DIR)/vendor/libretro-common/compat/compat_strcasestr.c \
|
|
$(CORE_DIR)/vendor/libretro-common/compat/compat_strl.c \
|
|
$(CORE_DIR)/vendor/libretro-common/compat/fopen_utf8.c \
|
|
$(CORE_DIR)/vendor/libretro-common/encodings/encoding_utf.c \
|
|
$(CORE_DIR)/vendor/libretro-common/features/features_cpu.c \
|
|
$(CORE_DIR)/vendor/libretro-common/file/config_file.c \
|
|
$(CORE_DIR)/vendor/libretro-common/file/config_file_userdata.c \
|
|
$(CORE_DIR)/vendor/libretro-common/file/file_path.c \
|
|
$(CORE_DIR)/vendor/libretro-common/file/file_path_io.c \
|
|
$(CORE_DIR)/vendor/libretro-common/time/rtime.c \
|
|
$(CORE_DIR)/vendor/libretro-common/formats/wav/rwav.c \
|
|
$(CORE_DIR)/vendor/libretro-common/lists/string_list.c \
|
|
$(CORE_DIR)/vendor/libretro-common/memmap/memalign.c \
|
|
$(CORE_DIR)/vendor/libretro-common/streams/file_stream.c \
|
|
$(CORE_DIR)/vendor/libretro-common/string/stdstring.c \
|
|
$(CORE_DIR)/vendor/libretro-common/vfs/vfs_implementation.c \
|
|
)
|
|
# Ensure the sinc_resampler_neon is available for ARM NEON devices.
|
|
SOURCES_S += $(CORE_DIR)/vendor/libretro-common/audio/resampler/drivers/sinc_resampler_neon.S
|
|
|
|
# MD5
|
|
FLAGS += -I$(CORE_DIR)/vendor/libretro-common/include
|
|
SOURCES_C += $(CORE_DIR)/vendor/libretro-common/utils/md5.c
|
|
endif
|
|
|
|
ifeq ($(platform), ctr)
|
|
SOURCES_C += $(CORE_DIR)/vendor/libretro-common/audio/audio_mix.c \
|
|
$(CORE_DIR)/vendor/libretro-common/audio/audio_mixer.c
|
|
endif
|
|
|
|
# stb_vorbis
|
|
#SOURCES_C += $(CORE_DIR)/vendor/stb/stb_vorbis.c
|
|
FLAGS += -DHAVE_STB_VORBIS
|
|
FLAGS += -I$(CORE_DIR)/vendor/libretro-deps
|
|
|
|
# zlib
|
|
SOURCES_C += \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/adler32.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/compress.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/crc32.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/deflate.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/gzclose.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/gzlib.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/gzread.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/gzwrite.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/infback.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/inffast.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/inflate.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/inftrees.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/trees.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/libz/zutil.c
|
|
FLAGS += -I$(CORE_DIR)/vendor/libretro-deps/libz
|
|
FLAGS += -I$(CORE_DIR)/vendor/libretro-common/compat
|
|
FLAGS += -DWANT_ZLIB
|
|
|
|
# PhysFS
|
|
FLAGS += -I$(CORE_DIR)/vendor/physfs/src
|
|
FLAGS += -I$(CORE_DIR)/vendor/physfs/extras
|
|
FLAGS += -DPHYSFS_NO_CDROM_SUPPORT=1 \
|
|
-DPHYSFS_SUPPORTS_DEFAULT=0 \
|
|
-DPHYSFS_SUPPORTS_ZIP=1
|
|
|
|
SOURCES_C += $(wildcard \
|
|
$(CORE_DIR)/vendor/physfs/extras/physfsrwops.c \
|
|
$(CORE_DIR)/vendor/physfs/src/*.c \
|
|
)
|
|
ifeq ($(platform), osx)
|
|
# LDFLAGS += -mmacosx-version-min=10.2
|
|
LDFLAGS += -framework IOKit -framework Foundation
|
|
# FLAGS += -DMAC_OS_X_VERSION_MIN_REQUIRED=1020
|
|
FLAGS += -D__MACH__ -D__APPLE__ -DPHYSFS_PLATFORM_APPLE
|
|
SOURCES_M += $(CORE_DIR)/vendor/physfs/src/physfs_platform_apple.m
|
|
endif
|
|
|
|
# SDL_tty
|
|
FLAGS += -I$(CORE_DIR)/vendor/SDL_tty/include
|
|
SOURCES_C += $(wildcard \
|
|
$(CORE_DIR)/vendor/SDL_tty/src/SDL_fnt.c \
|
|
$(CORE_DIR)/vendor/SDL_tty/src/SDL_tty.c \
|
|
)
|
|
|
|
# SDL_gfx
|
|
FLAGS += -I$(CORE_DIR)/vendor/sdl-libretro/tests/SDL_gfx-2.0.26
|
|
SOURCES_C += $(wildcard \
|
|
$(CORE_DIR)/vendor/sdl-libretro/tests/SDL_gfx-2.0.26/*.c \
|
|
)
|
|
|
|
# FreeType2
|
|
# See https://github.com/emscripten-ports/FreeType/blob/master/builds/amiga/makefile
|
|
FLAGS += -I$(CORE_DIR)/vendor/libretro-deps/freetype/include
|
|
FLAGS += -DFT2_BUILD_LIBRARY \
|
|
-DFT_USE_AUTOFIT \
|
|
-DFT_USE_RASTER \
|
|
-DFT_USE_SMOOTH \
|
|
-DFT_USE_TT \
|
|
-DFT_USE_T1 \
|
|
-DFT_USE_T42 \
|
|
-DFT_USE_T1CID \
|
|
-DFT_USE_CFF \
|
|
-DFT_USE_OTV \
|
|
-DFT_USE_GXV
|
|
|
|
SOURCES_C += \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/autofit/autofit.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftbase.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftbbox.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftbdf.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftbitmap.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftcid.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftdebug.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftfntfmt.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftfstype.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftgasp.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftglyph.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftgxval.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftinit.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftlcdfil.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftmm.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftotval.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftpatent.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftpfr.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftstroke.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftsynth.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftsystem.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/fttype1.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/base/ftwinfnt.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/bdf/bdf.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/bzip2/ftbzip2.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/cache/ftcache.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/cff/cff.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/cid/type1cid.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/gzip/ftgzip.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/lzw/ftlzw.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/pcf/pcf.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/pfr/pfr.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/psaux/psaux.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/pshinter/pshinter.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/psnames/psnames.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/raster/raster.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/sfnt/sfnt.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/smooth/smooth.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/truetype/truetype.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/type1/type1.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/type42/type42.c \
|
|
$(CORE_DIR)/vendor/libretro-deps/freetype/src/winfonts/winfnt.c
|
|
|
|
# SDL_ttf
|
|
FLAGS += -I$(CORE_DIR)/vendor/sdl-libretro/tests/SDL_ttf-2.0.11/VisualC/external/include
|
|
SOURCES_C += $(CORE_DIR)/vendor/sdl-libretro/tests/SDL_ttf-2.0.11/SDL_ttf.c
|
|
|
|
# SDL_stbimage
|
|
FLAGS += -I$(CORE_DIR)/vendor/Snippets
|
|
|
|
# STB
|
|
FLAGS += -I$(CORE_DIR)/vendor/stb
|
|
|
|
# TinySHA1
|
|
FLAGS += -I$(CORE_DIR)/vendor/TinySHA1
|
|
|
|
# cppcodec
|
|
FLAGS += -I$(CORE_DIR)/vendor/cppcodec
|
|
|
|
# ChaiScript
|
|
ifeq ($(HAVE_CHAISCRIPT),)
|
|
FLAGS += -I$(CORE_DIR)/vendor/chaiscript/include
|
|
FLAGS += -I$(CORE_DIR)/vendor/ChaiScript_Extras/include
|
|
FLAGS += -D__HAVE_CHAISCRIPT__
|
|
FLAGS += -DCHAISCRIPT_NO_THREADS -DCHAISCRIPT_NO_THREADS_WARNING -DCHAISCRIPT_NO_DYNLOAD
|
|
FLAGS += -DCHAISCRIPT_EXTRAS_MATH_SKIP_ADVANCED
|
|
endif
|
|
|
|
# SDL
|
|
ifeq ($(platform), win)
|
|
SOURCES_C += $(wildcard ./vendor/sdl-libretro/src/*.c ./vendor/sdl-libretro/src/audio/*.c ./vendor/sdl-libretro/src/cdrom/dummy/*.c ./vendor/sdl-libretro/src/cdrom/*.c ./vendor/sdl-libretro/src/cpuinfo/*.c ./vendor/sdl-libretro/src/events/*.c ./vendor/sdl-libretro/src/file/*.c ./vendor/sdl-libretro/src/stdlib/*.c ./vendor/sdl-libretro/src/thread/*.c ./vendor/sdl-libretro/src/timer/*.c ./vendor/sdl-libretro/src/video/*.c ./vendor/sdl-libretro/src/joystick/*.c ./vendor/sdl-libretro/src/video/libretro/*.c ./vendor/sdl-libretro/src/joystick/libretro/*.c ./vendor/sdl-libretro/src/timer/libretro/*.c ./vendor/sdl-libretro/src/audio/libretro/*.c ./vendor/sdl-libretro/src/thread/win32/SDL_sysmutex.c ./vendor/sdl-libretro/src/thread/win32/SDL_syssem.c ./vendor/sdl-libretro/src/thread/win32/SDL_systhread.c ./vendor/sdl-libretro/src/thread/generic/SDL_syscond.c ./vendor/sdl-libretro/src/loadso/dummy/*.c)
|
|
else
|
|
SOURCES_C += $(wildcard $(CORE_DIR)/vendor/sdl-libretro/src/*.c $(CORE_DIR)/vendor/sdl-libretro/src/audio/*.c $(CORE_DIR)/vendor/sdl-libretro/src/cdrom/dummy/*.c $(CORE_DIR)/vendor/sdl-libretro/src/cdrom/*.c $(CORE_DIR)/vendor/sdl-libretro/src/cpuinfo/*.c $(CORE_DIR)/vendor/sdl-libretro/src/events/*.c $(CORE_DIR)/vendor/sdl-libretro/src/file/*.c $(CORE_DIR)/vendor/sdl-libretro/src/stdlib/*.c $(CORE_DIR)/vendor/sdl-libretro/src/thread/*.c $(CORE_DIR)/vendor/sdl-libretro/src/timer/*.c $(CORE_DIR)/vendor/sdl-libretro/src/video/*.c $(CORE_DIR)/vendor/sdl-libretro/src/joystick/*.c $(CORE_DIR)/vendor/sdl-libretro/src/video/libretro/*.c $(CORE_DIR)/vendor/sdl-libretro/src/thread/generic/*.c $(CORE_DIR)/vendor/sdl-libretro/src/joystick/libretro/*.c $(CORE_DIR)/vendor/sdl-libretro/src/timer/libretro/*.c $(CORE_DIR)/vendor/sdl-libretro/src/audio/libretro/*.c $(CORE_DIR)/vendor/sdl-libretro/src/loadso/dummy/*.c)
|
|
endif
|
|
FLAGS += -DSDL_THREADS_DISABLED -DSDL_CDROM_DISABLED
|
|
FLAGS += -I$(CORE_DIR)/vendor/sdl-libretro/include
|
|
|
|
OBJECTS += $(SOURCES_CXX:.cpp=.o) $(SOURCES_C:.c=.o) $(SOURCES_S:.S=.o) $(SOURCES_M:.m=.o)
|
|
|
|
LDFLAGS += $(fpic) $(SHARED) $(EXTRA_LDF)
|
|
|
|
WARNINGS :=
|
|
|
|
# Windows: Fix retro_common_api.h
|
|
ifeq ($(system_platform), win)
|
|
FLAGS += -DPRId64=I64d -DPRIu64=I64u -DPRIuPTR=Iu
|
|
endif
|