flycast/core/core.mk

183 lines
5.1 KiB
Makefile
Raw Normal View History

#LOCAL_PATH:=
RZDCY_FILES :=
2013-12-19 17:10:14 +00:00
#MFLAGS := -marm -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16 -mfloat-abi=softfp
#ASFLAGS := -march=armv7-a -mfpu=vfp-d16 -mfloat-abi=softfp
#LDFLAGS := -Wl,-Map,$(notdir $@).map,--gc-sections -Wl,-O3 -Wl,--sort-common
2013-12-19 17:10:14 +00:00
RZDCY_SRC_DIR ?= $(call my-dir)
VERSION_HEADER := $(RZDCY_SRC_DIR)/version.h
2013-12-19 17:10:14 +00:00
RZDCY_MODULES := cfg/ hw/arm7/ hw/aica/ hw/holly/ hw/ hw/gdrom/ hw/maple/ \
2013-12-19 17:10:14 +00:00
hw/mem/ hw/pvr/ hw/sh4/ hw/sh4/interpr/ hw/sh4/modules/ plugins/ profiler/ oslib/ \
hw/extdev/ hw/arm/ hw/naomi/ imgread/ ./ deps/coreio/ deps/zlib/ deps/chdr/ deps/crypto/ \
deps/libelf/ deps/chdpsr/ arm_emitter/ rend/ reios/ deps/xbrz/ \
deps/libzip/ deps/imgui/ archive/ input/ log/ wsi/ network/
2014-04-25 02:59:53 +00:00
2013-12-19 17:10:14 +00:00
ifndef NOT_ARM
RZDCY_MODULES += rec-ARM/
endif
2014-03-24 22:12:30 +00:00
ifdef X86_REC
RZDCY_MODULES += rec-x86/ emitter/
2014-03-24 22:12:30 +00:00
endif
2015-07-14 01:35:34 +00:00
ifdef X64_REC
RZDCY_MODULES += rec-x64/
endif
2015-07-24 00:34:50 +00:00
ifdef CPP_REC
RZDCY_MODULES += rec-cpp/
endif
2019-01-07 20:50:46 +00:00
ifdef ARM64_REC
RZDCY_MODULES += rec-ARM64/ deps/vixl/ deps/vixl/aarch64/
endif
2013-12-19 17:10:14 +00:00
ifndef NO_REND
RZDCY_MODULES += rend/gles/
2018-10-04 08:29:23 +00:00
ifndef USE_GLES
2018-10-17 14:04:39 +00:00
ifndef USE_DISPMANX
2018-10-04 08:29:23 +00:00
RZDCY_MODULES += rend/gl4/
2018-10-17 14:04:39 +00:00
endif
2018-10-04 08:29:23 +00:00
endif
2019-10-05 09:50:14 +00:00
ifdef USE_VULKAN
RZDCY_MODULES += rend/vulkan/ rend/vulkan/oit/ deps/volk/ \
2019-10-05 09:50:14 +00:00
deps/glslang/glslang/MachineIndependent/ \
deps/glslang/glslang/MachineIndependent/preprocessor/ \
deps/glslang/glslang/GenericCodeGen/ \
deps/glslang/OGLCompilersDLL/ \
deps/glslang/SPIRV/
ifdef FOR_WINDOWS
RZDCY_FILES += $(RZDCY_SRC_DIR)/deps/glslang/glslang/OSDependent/Windows/ossource.cpp
2019-10-05 09:50:14 +00:00
else
RZDCY_FILES += $(RZDCY_SRC_DIR)/deps/glslang/glslang/OSDependent/Unix/ossource.cpp
2019-10-05 09:50:14 +00:00
endif
endif
2013-12-19 17:10:14 +00:00
else
RZDCY_MODULES += rend/norend/
endif
ifdef FOR_ANDROID
RZDCY_MODULES += android/ deps/libandroid/ linux/
2013-12-19 17:10:14 +00:00
endif
2015-08-29 18:23:16 +00:00
ifdef USE_SDL
RZDCY_MODULES += sdl/
endif
2013-12-19 17:10:14 +00:00
ifdef FOR_LINUX
2019-11-04 20:37:16 +00:00
ifndef UNIT_TESTS
RZDCY_MODULES += linux-dist/
endif
RZDCY_MODULES += linux/
endif
ifdef FOR_WINDOWS
RZDCY_MODULES += windows/
2013-12-19 17:10:14 +00:00
endif
ifdef FOR_PANDORA
RZDCY_CFLAGS := \
2018-10-04 08:29:23 +00:00
$(CFLAGS) -c -O3 \
2020-03-29 07:49:05 +00:00
-DNDEBUG -DPANDORA\
-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp \
-frename-registers -fsingle-precision-constant -ffast-math \
-ftree-vectorize -fomit-frame-pointer
2014-08-18 19:17:20 +00:00
RZDCY_CFLAGS += -march=armv7-a -mtune=cortex-a8 -mfpu=neon
RZDCY_CFLAGS += -DTARGET_LINUX_ARMELv7
else
2018-09-17 15:52:29 +00:00
ifdef FOR_ANDROID
RZDCY_CFLAGS := \
2018-10-04 08:29:23 +00:00
$(CFLAGS) -c -O3 \
2020-03-29 07:49:05 +00:00
-D_ANDROID -DNDEBUG \
2018-09-17 15:52:29 +00:00
-frename-registers -fsingle-precision-constant -ffast-math \
-ftree-vectorize -fomit-frame-pointer
ifndef NOT_ARM
RZDCY_CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16
RZDCY_CFLAGS += -DTARGET_LINUX_ARMELv7
else
2019-01-07 20:50:46 +00:00
ifdef ISARM64
RZDCY_CFLAGS += -march=armv8-a
RZDCY_CFLAGS += -DTARGET_LINUX_ARMv8
2018-09-17 15:52:29 +00:00
else
2019-01-07 20:50:46 +00:00
ifdef ISMIPS
RZDCY_CFLAGS += -DTARGET_LINUX_MIPS
else
RZDCY_CFLAGS += -DTARGET_LINUX_x86
endif
2018-09-17 15:52:29 +00:00
endif
endif
2018-09-17 15:52:29 +00:00
else
2018-10-04 08:29:23 +00:00
RZDCY_CFLAGS :=
endif
endif
2020-03-21 16:10:01 +00:00
ifdef FOR_WINDOWS
ifdef USE_SDL
RZDCY_CFLAGS += -I$(RZDCY_SRC_DIR)/deps/SDL2-2.0.12/include
2020-03-21 16:10:01 +00:00
endif
endif
ifdef USE_VULKAN
ifdef FOR_WINDOWS
RZDCY_CFLAGS += -DVK_USE_PLATFORM_WIN32_KHR
2019-10-05 09:50:14 +00:00
else
ifdef FOR_ANDROID
RZDCY_CFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
else
RZDCY_CFLAGS += -DVK_USE_PLATFORM_XLIB_KHR
endif
2019-10-05 09:50:14 +00:00
endif
RZDCY_CFLAGS += -D USE_VULKAN
2019-10-05 09:50:14 +00:00
endif
2018-10-04 08:29:23 +00:00
RZDCY_CFLAGS += -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/rend/gles -I$(RZDCY_SRC_DIR)/deps \
2020-01-16 17:28:48 +00:00
-I$(RZDCY_SRC_DIR)/deps/vixl -I$(RZDCY_SRC_DIR)/khronos -I$(RZDCY_SRC_DIR)/deps/glslang \
2020-03-22 09:08:05 +00:00
-I$(RZDCY_SRC_DIR)/deps/glm -I$(RZDCY_SRC_DIR)/deps/xbyak
2018-10-04 08:29:23 +00:00
ifdef USE_MODEM
RZDCY_CFLAGS += -DENABLE_MODEM -I$(RZDCY_SRC_DIR)/deps/picotcp/include -I$(RZDCY_SRC_DIR)/deps/picotcp/modules
RZDCY_MODULES += hw/modem/ deps/picotcp/modules/ deps/picotcp/stack/
endif
ifdef NO_REC
RZDCY_CFLAGS += -DTARGET_NO_REC
else
RZDCY_MODULES += hw/sh4/dyna/
2014-04-25 03:26:36 +00:00
endif
ifdef USE_GLES
RZDCY_CFLAGS += -DGLES -fPIC
2014-03-24 22:12:30 +00:00
endif
ifdef CHD5_FLAC
RZDCY_CFLAGS += -DCHD5_FLAC -I$(RZDCY_SRC_DIR)/deps/flac/src/libFLAC/include/ -I$(RZDCY_SRC_DIR)/deps/flac/include
2019-07-28 16:49:59 +00:00
RZDCY_CFLAGS += -DHAVE_CONFIG_H
RZDCY_MODULES += deps/flac/src/libFLAC/
endif
# 7-Zip/LZMA settings (CHDv5)
ifdef CHD5_LZMA
RZDCY_MODULES += deps/lzma/
RZDCY_CFLAGS += -D_7ZIP_ST -DCHD5_LZMA
endif
2020-04-14 12:13:42 +00:00
RZDCY_CFLAGS += -I$(RZDCY_SRC_DIR)/deps/libzip
RZDCY_CFLAGS += -DZ_HAVE_UNISTD_H -I$(RZDCY_SRC_DIR)/deps/zlib
2020-04-07 12:36:54 +00:00
RZDCY_CFLAGS += -DXXH_INLINE_ALL -I$(RZDCY_SRC_DIR)/deps/xxHash -I$(RZDCY_SRC_DIR)/deps/stb
2019-09-04 16:40:18 +00:00
RZDCY_CXXFLAGS := $(RZDCY_CFLAGS) -fno-rtti -std=c++11
RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.cpp))
RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.cc))
RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.c))
RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.S))
$(VERSION_HEADER):
echo "#define REICAST_VERSION \"`git describe --tags --always`\"" > $(VERSION_HEADER)
echo "#define GIT_HASH \"`git rev-parse --short HEAD`\"" >> $(VERSION_HEADER)
echo "#define BUILD_DATE \"`date '+%Y-%m-%d %H:%M:%S %Z'`\"" >> $(VERSION_HEADER)