libretro-chailove/Makefile.common
2018-04-02 23:17:45 -04:00

174 lines
5.9 KiB
Makefile

# ChaiLove
SOURCES_CXX += $(wildcard \
src/*.cpp \
src/love/*.cpp \
src/love/Types/Audio/*.cpp \
src/love/Types/FileSystem/*.cpp \
src/love/Types/Graphics/*.cpp \
src/love/Types/Input/*.cpp \
src/love/Types/Config/*.cpp \
test/native/*.cpp \
)
# semver
FLAGS += -Ivendor/semver
SOURCES_C += vendor/semver/semver.c
# random
FLAGS += -Ivendor/random/include
# filesystem
FLAGS += -Ivendor/filesystem
# libretro-common
FLAGS += -Ivendor/libretro-common/include
# zlib
SOURCES_C += \
vendor/zlib/zutil.c \
vendor/zlib/adler32.c \
vendor/zlib/crc32.c \
vendor/zlib/compress.c \
vendor/zlib/deflate.c \
vendor/zlib/gzclose.c \
vendor/zlib/gzlib.c \
vendor/zlib/gzread.c \
vendor/zlib/gzwrite.c \
vendor/zlib/infback.c \
vendor/zlib/inffast.c \
vendor/zlib/inftrees.c \
vendor/zlib/inflate.c \
vendor/zlib/trees.c
FLAGS += -Ivendor/zlib
FLAGS += -DWANT_ZLIB
# PhysFS
FLAGS += -Ivendor/physfs/src
FLAGS += -Ivendor/physfs/extras
FLAGS += -DPHYSFS_NO_CDROM_SUPPORT=1
SOURCES_C += $(wildcard \
vendor/physfs/extras/physfsrwops.c \
vendor/physfs/src/*.c \
)
ifeq ($(platform), osx)
# LDFLAGS += -mmacosx-version-min=10.2
LDFLAGS += -framework Carbon -framework IOKit
# FLAGS += -DMAC_OS_X_VERSION_MIN_REQUIRED=1020
FLAGS += -D__MACH__ -D__APPLE__
endif
# SDL_tty
FLAGS += -Ivendor/SDL_tty/include
SOURCES_C += $(wildcard \
vendor/SDL_tty/src/SDL_tty.c \
vendor/SDL_tty/src/SDL_fnt.c \
)
# SDL_gfx
FLAGS += -Ivendor/sdl-libretro/tests/SDL_gfx-2.0.26
SOURCES_C += $(wildcard \
vendor/sdl-libretro/tests/SDL_gfx-2.0.26/*.c \
)
# FreeType2
# See https://github.com/emscripten-ports/FreeType/blob/master/builds/amiga/makefile
FLAGS += -Ivendor/freetype2/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 += \
vendor/freetype2/src/base/ftbase.c \
vendor/freetype2/src/base/ftinit.c \
vendor/freetype2/src/base/ftsystem.c \
vendor/freetype2/src/base/ftdebug.c \
vendor/freetype2/src/base/ftbbox.c \
vendor/freetype2/src/base/ftbdf.c \
vendor/freetype2/src/base/ftstroke.c \
vendor/freetype2/src/base/ftbitmap.c \
vendor/freetype2/src/base/ftcid.c \
vendor/freetype2/src/base/ftfntfmt.c \
vendor/freetype2/src/base/ftfstype.c \
vendor/freetype2/src/base/ftgasp.c \
vendor/freetype2/src/base/ftglyph.c \
vendor/freetype2/src/base/ftgxval.c \
vendor/freetype2/src/base/ftlcdfil.c \
vendor/freetype2/src/base/ftmm.c \
vendor/freetype2/src/base/ftotval.c \
vendor/freetype2/src/base/ftpatent.c \
vendor/freetype2/src/base/ftpfr.c \
vendor/freetype2/src/base/ftsynth.c \
vendor/freetype2/src/base/fttype1.c \
vendor/freetype2/src/base/ftwinfnt.c \
vendor/freetype2/src/autofit/autofit.c \
vendor/freetype2/src/pshinter/pshinter.c \
vendor/freetype2/src/psaux/psaux.c \
vendor/freetype2/src/psnames/psnames.c \
vendor/freetype2/src/raster/raster.c \
vendor/freetype2/src/smooth/smooth.c \
vendor/freetype2/src/cache/ftcache.c \
vendor/freetype2/src/bdf/bdf.c \
vendor/freetype2/src/cff/cff.c \
vendor/freetype2/src/pcf/pcf.c \
vendor/freetype2/src/winfonts/winfnt.c \
vendor/freetype2/src/sfnt/sfnt.c \
vendor/freetype2/src/pfr/pfr.c \
vendor/freetype2/src/truetype/truetype.c \
vendor/freetype2/src/type1/type1.c \
vendor/freetype2/src/type42/type42.c \
vendor/freetype2/src/cid/type1cid.c \
vendor/freetype2/src/gzip/ftgzip.c \
vendor/freetype2/src/bzip2/ftbzip2.c \
vendor/freetype2/src/lzw/ftlzw.c
# SDL_ttf
FLAGS += -Ivendor/sdl-libretro/tests/SDL_ttf-2.0.11/VisualC/external/include
SOURCES_C += vendor/sdl-libretro/tests/SDL_ttf-2.0.11/SDL_ttf.c
# SDL_stbimage
FLAGS += -Ivendor/Snippets
# STB
FLAGS += -Ivendor/stb
# ChaiScript
ifeq ($(HAVE_CHAISCRIPT),)
FLAGS += -Ivendor/chaiscript/include
FLAGS += -Ivendor/ChaiScript_Extras/include
FLAGS += -D__HAVE_CHAISCRIPT__
FLAGS += -DCHAISCRIPT_NO_THREADS -DCHAISCRIPT_NO_THREADS_WARNING -DCHAISCRIPT_NO_DYNLOAD
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 ./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/thread/generic/*.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/loadso/dummy/*.c)
endif
FLAGS += -DSDL_THREADS_DISABLED -DSDL_CDROM_DISABLED
FLAGS += -Ivendor/sdl-libretro/include
OBJECTS += $(SOURCES_CXX:.cpp=.o) $(SOURCES_C:.c=.o)
ifeq ($(DEBUG), 0)
FLAGS += -O3 -ffast-math -fomit-frame-pointer
else
FLAGS += -O0 -g
endif
LDFLAGS += $(fpic) $(SHARED) $(EXTRA_LDF)
WARNINGS :=
ifneq ($(HAVE_TESTS),)
FLAGS += -D__HAVE_TESTS__
endif