# ChaiLove SOURCES_CXX += $(wildcard \ src/*.cpp \ src/Modules/*.cpp \ src/Types/*.cpp \ src/Types/Audio/*.cpp \ src/Types/Graphics/*.cpp \ src/Types/Input/*.cpp \ src/Types/System/*.cpp \ test/*.cpp \ ) # filesystem FLAGS += -Ivendor/filesystem # libretro-common FLAGS += -Ivendor/libretro-common/include # zlib SOURCES_C += \ vendor/zlib/crc32.c \ vendor/zlib/deflate.c \ vendor/zlib/trees.c \ vendor/zlib/inftrees.c \ vendor/zlib/adler32.c \ vendor/zlib/zutil.c \ vendor/zlib/inflate.c \ vendor/zlib/infback.c \ vendor/zlib/inffast.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 \ ) # FreeType # See https://github.com/emscripten-ports/FreeType/blob/master/builds/amiga/makefile FLAGS += -Ivendor/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 += \ vendor/libretro-deps/freetype/src/base/ftbase.c \ vendor/libretro-deps/freetype/src/base/ftinit.c \ vendor/libretro-deps/freetype/src/base/ftsystem.c \ vendor/libretro-deps/freetype/src/base/ftdebug.c \ vendor/libretro-deps/freetype/src/base/ftbbox.c \ vendor/libretro-deps/freetype/src/base/ftbdf.c \ vendor/libretro-deps/freetype/src/base/ftstroke.c \ vendor/libretro-deps/freetype/src/base/ftbitmap.c \ vendor/libretro-deps/freetype/src/base/ftcid.c \ vendor/libretro-deps/freetype/src/base/ftfntfmt.c \ vendor/libretro-deps/freetype/src/base/ftfstype.c \ vendor/libretro-deps/freetype/src/base/ftgasp.c \ vendor/libretro-deps/freetype/src/base/ftglyph.c \ vendor/libretro-deps/freetype/src/base/ftgxval.c \ vendor/libretro-deps/freetype/src/base/ftlcdfil.c \ vendor/libretro-deps/freetype/src/base/ftmm.c \ vendor/libretro-deps/freetype/src/base/ftotval.c \ vendor/libretro-deps/freetype/src/base/ftpatent.c \ vendor/libretro-deps/freetype/src/base/ftpfr.c \ vendor/libretro-deps/freetype/src/base/ftsynth.c \ vendor/libretro-deps/freetype/src/base/fttype1.c \ vendor/libretro-deps/freetype/src/base/ftwinfnt.c \ vendor/libretro-deps/freetype/src/autofit/autofit.c \ vendor/libretro-deps/freetype/src/pshinter/pshinter.c \ vendor/libretro-deps/freetype/src/psaux/psaux.c \ vendor/libretro-deps/freetype/src/psnames/psnames.c \ vendor/libretro-deps/freetype/src/raster/raster.c \ vendor/libretro-deps/freetype/src/smooth/smooth.c \ vendor/libretro-deps/freetype/src/cache/ftcache.c \ vendor/libretro-deps/freetype/src/bdf/bdf.c \ vendor/libretro-deps/freetype/src/cff/cff.c \ vendor/libretro-deps/freetype/src/pcf/pcf.c \ vendor/libretro-deps/freetype/src/winfonts/winfnt.c \ vendor/libretro-deps/freetype/src/sfnt/sfnt.c \ vendor/libretro-deps/freetype/src/pfr/pfr.c \ vendor/libretro-deps/freetype/src/truetype/truetype.c \ vendor/libretro-deps/freetype/src/type1/type1.c \ vendor/libretro-deps/freetype/src/type42/type42.c \ vendor/libretro-deps/freetype/src/cid/type1cid.c \ vendor/libretro-deps/freetype/src/gzip/ftgzip.c \ vendor/libretro-deps/freetype/src/bzip2/ftbzip2.c \ vendor/libretro-deps/freetype/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) # Build all the dependencies, and the core. all: | dependencies $(TARGET) 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