1LIBRETRO_COMM_DIR := $(CORE_DIR)/libretro-common
2AI_DIR            := $(CORE_DIR)/ai
3SOURCES_C         := $(CORE_DIR)/mrboom.c $(CORE_DIR)/mrboom_data.c
4
5ifeq ($(HAVE_NEON),1)
6   SOURCES_ASM := $(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16_neon.S \
7                  $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler_neon.S \
8                  $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float_neon.S
9endif
10
11
12INCFLAGS := -I$(LIBRETRO_COMM_DIR)/include \
13            -I$(LIBRETRO_COMM_DIR) \
14            -I$(AI_DIR) \
15            -I$(CORE_DIR)
16
17ifneq (,$(findstring msvc2003,$(platform)))
18   INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc
19endif
20
21SOURCES_CXX := $(CORE_DIR)/common.cpp \
22               $(AI_DIR)/BotTree.cpp \
23               $(AI_DIR)/Bot.cpp \
24               $(AI_DIR)/GridFunctions.cpp \
25               $(AI_DIR)/MrboomHelper.cpp
26
27ifneq ($(LIBSDL2),)
28   SOURCES_CXX += $(CORE_DIR)/sdl2/sdl2.cpp \
29                  $(CORE_DIR)/sdl2/xBRZ/xbrz.cpp
30else
31   ifneq ($(LIBSDL),)
32      SOURCES_CXX += $(CORE_DIR)/sdl/sdl.cpp
33      # SOURCES_C += minizip/unzip.c minizip/ioapi.c
34   else
35      SOURCES_CXX += $(CORE_DIR)/libretro/retro.cpp
36      INCFLAGS    += -I$(CORE_DIR)/libretro
37   endif
38endif
39
40ifeq ($(STATIC_LINKING), 1)
41   ifeq ($(platform), ctr)
42      SOURCES_C += $(LIBRETRO_COMM_DIR)/audio/audio_mixer.c
43   endif
44   ifeq ($(platform), psl1ght)
45      SOURCES_C += $(LIBRETRO_COMM_DIR)/audio/audio_mixer.c
46   endif
47else
48   ifeq ($(LIBSDL),)
49      SOURCES_C += $(LIBRETRO_COMM_DIR)/file/file_path.c \
50                   $(LIBRETRO_COMM_DIR)/file/file_path_io.c \
51                   $(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c \
52                   $(LIBRETRO_COMM_DIR)/compat/compat_posix_string.c \
53                   $(LIBRETRO_COMM_DIR)/compat/fopen_utf8.c \
54                   $(LIBRETRO_COMM_DIR)/string/stdstring.c \
55                   $(LIBRETRO_COMM_DIR)/compat/compat_strl.c \
56                   $(LIBRETRO_COMM_DIR)/compat/compat_snprintf.c \
57                   $(LIBRETRO_COMM_DIR)/streams/file_stream.c \
58                   $(LIBRETRO_COMM_DIR)/streams/memory_stream.c \
59                   $(LIBRETRO_COMM_DIR)/lists/string_list.c \
60                   $(LIBRETRO_COMM_DIR)/memmap/memalign.c \
61                   $(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \
62                   $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \
63                   $(LIBRETRO_COMM_DIR)/net/net_http.c \
64                   $(LIBRETRO_COMM_DIR)/net/net_compat.c \
65                   $(LIBRETRO_COMM_DIR)/net/net_socket.c \
66                   $(LIBRETRO_COMM_DIR)/time/rtime.c
67   endif
68   ifeq ($(LIBSDL2),)
69      ifeq ($(LIBSDL),)
70         SOURCES_C +=  $(LIBRETRO_COMM_DIR)/audio/audio_mixer.c \
71                       $(LIBRETRO_COMM_DIR)/audio/resampler/audio_resampler.c \
72                       $(LIBRETRO_COMM_DIR)/file/config_file_userdata.c \
73                       $(LIBRETRO_COMM_DIR)/file/config_file.c \
74                       $(LIBRETRO_COMM_DIR)/features/features_cpu.c \
75                       $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/nearest_resampler.c \
76                       $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler.c \
77                       $(LIBRETRO_COMM_DIR)/formats/wav/rwav.c \
78                       $(LIBRETRO_COMM_DIR)/audio/audio_mix.c \
79                       $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float.c \
80                       $(LIBRETRO_COMM_DIR)/audio/conversion/float_to_s16.c \
81                       $(CORE_DIR)/libretro/ibxm/ibxm.c
82         INCFLAGS += -I$(CORE_DIR)/libretro/ibxm
83      endif
84   endif
85endif
86
87ifeq ($(WANT_BPP), 32)
88   INCFLAGS += -DWANT_BPP32
89else
90   INCFLAGS += -DWANT_BPP16
91endif
92
93ifneq ($(STATETESTS),)
94   SOURCES_CXX += $(CORE_DIR)/tools/tests/tests.cpp \
95                  $(CORE_DIR)/sdl2/xBRZ/xbrz.cpp
96   SOURCES_C   += $(LIBRETRO_COMM_DIR)/formats/bmp/rbmp_encode.c \
97                  $(LIBRETRO_COMM_DIR)/encodings/encoding_crc32.c
98   INCFLAGS    += -DSTATETESTS
99endif
100
101ifneq ($(SCREENSHOTS),)
102   SOURCES_CXX += $(CORE_DIR)/tools/tests/tests.cpp \
103                  $(CORE_DIR)/sdl2/xBRZ/xbrz.cpp
104   SOURCES_C   += $(LIBRETRO_COMM_DIR)/formats/bmp/rbmp_encode.c \
105                  $(LIBRETRO_COMM_DIR)/encodings/encoding_crc32.c
106   INCFLAGS    += -DSCREENSHOTS
107endif
108
109ifneq ($(FPS),)
110   SOURCES_CXX += $(CORE_DIR)/tools/tests/tests.cpp
111   INCFLAGS    += -DFPS
112endif
113
114ifneq ($(UNITTESTS),)
115   SOURCES_CXX += $(CORE_DIR)/tools/tests/unittests/tests-main.cpp \
116                  $(CORE_DIR)/tools/tests/unittests/tests-MrboomHelper.cpp
117endif
118