1FFMPEGDIR		= $(CORE_DIR)/ffmpeg
2LIBRETRODIR		= $(CORE_DIR)/libretro
3COREDIR			= $(CORE_DIR)/Core
4COMMONDIR		= $(CORE_DIR)/Common
5GPUCOMMONDIR		= $(CORE_DIR)/GPU/Common
6GPUDIR			= $(CORE_DIR)/GPU
7EXTDIR			= $(CORE_DIR)/ext
8NATIVEDIR		= $(EXTDIR)/native
9ZSTDDIR                 = $(EXTDIR)/zstd/lib
10
11SOURCES_CXX   :=
12SOURCES_C     :=
13SOURCES_ASM   :=
14
15INCFLAGS += \
16	-I$(CORE_DIR) \
17	-I$(COMMONDIR) \
18	-I$(CORE_DIR)/libretro \
19	-I$(EXTDIR)/glslang \
20	-I$(EXTDIR)/native \
21	-I$(EXTDIR)/zlib \
22	-I$(ZSTDDIR) \
23	-I$(EXTDIR)/snappy \
24	-I$(FFMPEGDIR) \
25	$(FFMPEGINCFLAGS) \
26	-I$(EXTDIR)/cityhash \
27	-I$(EXTDIR)/armips \
28	-I$(EXTDIR)/zstd/lib \
29	-I$(EXTDIR) \
30	-I$(NATIVEDIR) \
31	-I$(EXTDIR)/libpng17 \
32	-I$(EXTDIR)/libkirk \
33	-I$(EXTDIR)/xbrz \
34	-I$(EXTDIR)/xxhash \
35	-I$(EXTDIR)/glew
36
37ifeq ($(PLATFORM_EXT), android)
38	INCFLAGS += -I$(EXTDIR)/libzip
39	SOURCES_C += \
40		$(EXTDIR)/libzip/zip_add.c \
41		$(EXTDIR)/libzip/zip_add_dir.c \
42		$(EXTDIR)/libzip/zip_add_entry.c \
43		$(EXTDIR)/libzip/zip_algorithm_deflate.c \
44		$(EXTDIR)/libzip/zip_buffer.c \
45		$(EXTDIR)/libzip/zip_close.c \
46		$(EXTDIR)/libzip/zip_delete.c \
47		$(EXTDIR)/libzip/zip_dir_add.c \
48		$(EXTDIR)/libzip/zip_dirent.c \
49		$(EXTDIR)/libzip/zip_discard.c \
50		$(EXTDIR)/libzip/zip_entry.c \
51		$(EXTDIR)/libzip/zip_error.c \
52		$(EXTDIR)/libzip/zip_error_clear.c \
53		$(EXTDIR)/libzip/zip_error_get.c \
54		$(EXTDIR)/libzip/zip_error_get_sys_type.c \
55		$(EXTDIR)/libzip/zip_error_strerror.c \
56		$(EXTDIR)/libzip/zip_error_to_str.c \
57		$(EXTDIR)/libzip/zip_extra_field.c \
58		$(EXTDIR)/libzip/zip_extra_field_api.c \
59		$(EXTDIR)/libzip/zip_fclose.c \
60		$(EXTDIR)/libzip/zip_fdopen.c \
61		$(EXTDIR)/libzip/zip_file_add.c \
62		$(EXTDIR)/libzip/zip_file_error_clear.c \
63		$(EXTDIR)/libzip/zip_file_error_get.c \
64		$(EXTDIR)/libzip/zip_file_get_comment.c \
65		$(EXTDIR)/libzip/zip_file_get_external_attributes.c \
66		$(EXTDIR)/libzip/zip_file_get_offset.c \
67		$(EXTDIR)/libzip/zip_file_rename.c \
68		$(EXTDIR)/libzip/zip_file_replace.c \
69		$(EXTDIR)/libzip/zip_file_set_comment.c \
70		$(EXTDIR)/libzip/zip_file_set_encryption.c \
71		$(EXTDIR)/libzip/zip_file_set_external_attributes.c \
72		$(EXTDIR)/libzip/zip_file_set_mtime.c \
73		$(EXTDIR)/libzip/zip_file_strerror.c \
74		$(EXTDIR)/libzip/zip_fopen.c \
75		$(EXTDIR)/libzip/zip_fopen_encrypted.c \
76		$(EXTDIR)/libzip/zip_fopen_index.c \
77		$(EXTDIR)/libzip/zip_fopen_index_encrypted.c \
78		$(EXTDIR)/libzip/zip_fread.c \
79		$(EXTDIR)/libzip/zip_fseek.c \
80		$(EXTDIR)/libzip/zip_ftell.c \
81		$(EXTDIR)/libzip/zip_get_archive_comment.c \
82		$(EXTDIR)/libzip/zip_get_archive_flag.c \
83		$(EXTDIR)/libzip/zip_get_encryption_implementation.c \
84		$(EXTDIR)/libzip/zip_get_file_comment.c \
85		$(EXTDIR)/libzip/zip_get_name.c \
86		$(EXTDIR)/libzip/zip_get_num_entries.c \
87		$(EXTDIR)/libzip/zip_get_num_files.c \
88		$(EXTDIR)/libzip/zip_hash.c \
89		$(EXTDIR)/libzip/zip_io_util.c \
90		$(EXTDIR)/libzip/zip_libzip_version.c \
91		$(EXTDIR)/libzip/zip_memdup.c \
92		$(EXTDIR)/libzip/zip_name_locate.c \
93		$(EXTDIR)/libzip/zip_new.c \
94		$(EXTDIR)/libzip/zip_open.c \
95		$(EXTDIR)/libzip/zip_pkware.c \
96		$(EXTDIR)/libzip/zip_progress.c \
97		$(EXTDIR)/libzip/zip_rename.c \
98		$(EXTDIR)/libzip/zip_replace.c \
99		$(EXTDIR)/libzip/zip_set_archive_comment.c \
100		$(EXTDIR)/libzip/zip_set_archive_flag.c \
101		$(EXTDIR)/libzip/zip_set_default_password.c \
102		$(EXTDIR)/libzip/zip_set_file_comment.c \
103		$(EXTDIR)/libzip/zip_set_file_compression.c \
104		$(EXTDIR)/libzip/zip_set_name.c \
105		$(EXTDIR)/libzip/zip_source_accept_empty.c \
106		$(EXTDIR)/libzip/zip_source_begin_write.c \
107		$(EXTDIR)/libzip/zip_source_begin_write_cloning.c \
108		$(EXTDIR)/libzip/zip_source_buffer.c \
109		$(EXTDIR)/libzip/zip_source_call.c \
110		$(EXTDIR)/libzip/zip_source_close.c \
111		$(EXTDIR)/libzip/zip_source_commit_write.c \
112		$(EXTDIR)/libzip/zip_source_compress.c \
113		$(EXTDIR)/libzip/zip_source_crc.c \
114		$(EXTDIR)/libzip/zip_source_error.c \
115		$(EXTDIR)/libzip/zip_source_file_common.c \
116		$(EXTDIR)/libzip/zip_source_file_stdio.c \
117		$(EXTDIR)/libzip/zip_source_free.c \
118		$(EXTDIR)/libzip/zip_source_function.c \
119		$(EXTDIR)/libzip/zip_source_get_file_attributes.c \
120		$(EXTDIR)/libzip/zip_source_is_deleted.c \
121		$(EXTDIR)/libzip/zip_source_layered.c \
122		$(EXTDIR)/libzip/zip_source_open.c \
123		$(EXTDIR)/libzip/zip_source_pkware_decode.c \
124		$(EXTDIR)/libzip/zip_source_pkware_encode.c \
125		$(EXTDIR)/libzip/zip_source_read.c \
126		$(EXTDIR)/libzip/zip_source_remove.c \
127		$(EXTDIR)/libzip/zip_source_rollback_write.c \
128		$(EXTDIR)/libzip/zip_source_seek.c \
129		$(EXTDIR)/libzip/zip_source_seek_write.c \
130		$(EXTDIR)/libzip/zip_source_stat.c \
131		$(EXTDIR)/libzip/zip_source_supports.c \
132		$(EXTDIR)/libzip/zip_source_tell.c \
133		$(EXTDIR)/libzip/zip_source_tell_write.c \
134		$(EXTDIR)/libzip/zip_source_window.c \
135		$(EXTDIR)/libzip/zip_source_write.c \
136		$(EXTDIR)/libzip/zip_source_zip.c \
137		$(EXTDIR)/libzip/zip_source_zip_new.c \
138		$(EXTDIR)/libzip/zip_stat.c \
139		$(EXTDIR)/libzip/zip_stat_index.c \
140		$(EXTDIR)/libzip/zip_stat_init.c \
141		$(EXTDIR)/libzip/zip_strerror.c \
142		$(EXTDIR)/libzip/zip_string.c \
143		$(EXTDIR)/libzip/zip_unchange.c \
144		$(EXTDIR)/libzip/zip_unchange_all.c \
145		$(EXTDIR)/libzip/zip_unchange_archive.c \
146		$(EXTDIR)/libzip/zip_unchange_data.c \
147		$(EXTDIR)/libzip/zip_utf-8.c \
148		$(EXTDIR)/libzip/zip_err_str.c
149
150	ifeq ($(PLATFORM_EXT), win32)
151		SOURCES_C += \
152			$(EXTDIR)/libzip/zip_source_file_win32.c \
153			$(EXTDIR)/libzip/zip_source_file_win32_named.c \
154			$(EXTDIR)/libzip/zip_source_file_win32_utf16.c \
155			$(EXTDIR)/libzip/zip_source_file_win32_utf8.c \
156			$(EXTDIR)/libzip/zip_source_file_win32_ansi.c \
157			$(EXTDIR)/libzip/zip_random_win32.c
158	else
159		SOURCES_C += \
160			$(EXTDIR)/libzip/zip_mkstempm.c \
161			$(EXTDIR)/libzip/zip_source_file_stdio_named.c \
162			$(EXTDIR)/libzip/zip_random_unix.c
163	endif
164
165	SOURCES_C +=\
166		$(COMMONDIR)/Math/fast/fast_math.c \
167		$(COMMONDIR)/Math/fast/fast_matrix.c
168endif
169
170SOURCES_C += $(LIBRETRODIR)/ext/glew/glew.c
171
172SOURCES_C += \
173	$(EXTDIR)/libkirk/AES.c \
174	$(EXTDIR)/libkirk/amctrl.c \
175	$(EXTDIR)/libkirk/SHA1.c \
176	$(EXTDIR)/libkirk/bn.c \
177	$(EXTDIR)/libkirk/ec.c \
178	$(EXTDIR)/libkirk/kirk_engine.c
179
180SOURCES_C += \
181	$(EXTDIR)/libpng17/png.c \
182	$(EXTDIR)/libpng17/pngerror.c \
183	$(EXTDIR)/libpng17/pngget.c \
184	$(EXTDIR)/libpng17/pngmem.c \
185	$(EXTDIR)/libpng17/pngread.c \
186	$(EXTDIR)/libpng17/pngrio.c \
187	$(EXTDIR)/libpng17/pngrtran.c \
188	$(EXTDIR)/libpng17/pngrutil.c \
189	$(EXTDIR)/libpng17/pngset.c \
190	$(EXTDIR)/libpng17/pngtrans.c \
191	$(EXTDIR)/libpng17/pngwio.c \
192	$(EXTDIR)/libpng17/pngwrite.c \
193	$(EXTDIR)/libpng17/pngwtran.c \
194	$(EXTDIR)/libpng17/pngwutil.c
195
196SOURCES_C += $(EXTDIR)/sfmt19937/SFMT.c
197SOURCES_C   += $(EXTDIR)/xxhash.c
198
199SOURCES_CXX += \
200	$(EXTDIR)/snappy/snappy-c.cpp \
201	$(EXTDIR)/snappy/snappy-sinksource.cpp \
202	$(EXTDIR)/snappy/snappy-stubs-internal.cpp \
203	$(EXTDIR)/snappy/snappy.cpp
204
205SOURCES_CXX += $(EXTDIR)/xbrz/xbrz.cpp
206
207SOURCES_CXX += \
208	$(EXTDIR)/gason/gason.cpp
209
210SOURCES_CXX += $(EXTDIR)/cityhash/city.cpp
211
212SOURCES_CXX += \
213	$(COMMONDIR)/Crypto/md5.cpp \
214	$(COMMONDIR)/Crypto/sha1.cpp \
215	$(COMMONDIR)/Crypto/sha256.cpp
216
217SOURCES_CXX += \
218	$(COMMONDIR)/Data/Color/RGBAUtil.cpp \
219	$(COMMONDIR)/Data/Convert/SmallDataConvert.cpp \
220	$(COMMONDIR)/Data/Encoding/Base64.cpp \
221	$(COMMONDIR)/Data/Encoding/Compression.cpp \
222	$(COMMONDIR)/Data/Encoding/Utf8.cpp \
223	$(COMMONDIR)/Data/Format/RIFF.cpp \
224	$(COMMONDIR)/Data/Format/IniFile.cpp \
225	$(COMMONDIR)/Data/Format/JSONReader.cpp \
226	$(COMMONDIR)/Data/Format/JSONWriter.cpp \
227	$(COMMONDIR)/Data/Format/PNGLoad.cpp \
228	$(COMMONDIR)/Data/Format/ZIMLoad.cpp \
229	$(COMMONDIR)/Data/Format/ZIMSave.cpp \
230	$(COMMONDIR)/Data/Hash/Hash.cpp \
231	$(COMMONDIR)/Data/Text/I18n.cpp \
232	$(COMMONDIR)/Data/Text/Parsers.cpp \
233	$(COMMONDIR)/Data/Text/WrapText.cpp \
234	$(COMMONDIR)/File/VFS/VFS.cpp \
235	$(COMMONDIR)/File/VFS/AssetReader.cpp \
236	$(COMMONDIR)/File/AndroidStorage.cpp \
237	$(COMMONDIR)/File/DiskFree.cpp \
238	$(COMMONDIR)/File/Path.cpp \
239	$(COMMONDIR)/File/PathBrowser.cpp \
240	$(COMMONDIR)/File/FileUtil.cpp \
241	$(COMMONDIR)/File/FileDescriptor.cpp \
242	$(COMMONDIR)/File/DirListing.cpp \
243	$(COMMONDIR)/GPU/thin3d.cpp \
244	$(COMMONDIR)/GPU/Shader.cpp \
245	$(COMMONDIR)/GPU/ShaderWriter.cpp \
246	$(COMMONDIR)/GPU/ShaderTranslation.cpp \
247	$(COMMONDIR)/GPU/OpenGL/thin3d_gl.cpp \
248	$(COMMONDIR)/GPU/OpenGL/GLDebugLog.cpp \
249	$(COMMONDIR)/GPU/OpenGL/GLSLProgram.cpp \
250	$(COMMONDIR)/GPU/OpenGL/GLFeatures.cpp \
251	$(COMMONDIR)/GPU/OpenGL/GLRenderManager.cpp \
252	$(COMMONDIR)/GPU/OpenGL/GLQueueRunner.cpp \
253	$(COMMONDIR)/GPU/OpenGL/DataFormatGL.cpp \
254	$(COMMONDIR)/GPU/Vulkan/thin3d_vulkan.cpp \
255	$(COMMONDIR)/GPU/Vulkan/VulkanQueueRunner.cpp \
256	$(COMMONDIR)/GPU/Vulkan/VulkanRenderManager.cpp \
257	$(COMMONDIR)/GPU/Vulkan/VulkanLoader.cpp \
258	$(COMMONDIR)/GPU/Vulkan/VulkanContext.cpp \
259	$(COMMONDIR)/GPU/Vulkan/VulkanDebug.cpp \
260	$(COMMONDIR)/GPU/Vulkan/VulkanImage.cpp \
261	$(COMMONDIR)/GPU/Vulkan/VulkanMemory.cpp \
262	$(COMMONDIR)/Input/GestureDetector.cpp \
263	$(COMMONDIR)/Input/InputState.cpp \
264	$(COMMONDIR)/Math/curves.cpp \
265	$(COMMONDIR)/Math/expression_parser.cpp \
266	$(COMMONDIR)/Math/math_util.cpp \
267	$(COMMONDIR)/Math/lin/vec3.cpp \
268	$(COMMONDIR)/Math/lin/matrix4x4.cpp \
269	$(COMMONDIR)/Net/HTTPClient.cpp \
270	$(COMMONDIR)/Net/HTTPHeaders.cpp \
271	$(COMMONDIR)/Net/HTTPServer.cpp \
272	$(COMMONDIR)/Net/NetBuffer.cpp \
273	$(COMMONDIR)/Net/Resolve.cpp \
274	$(COMMONDIR)/Net/Sinks.cpp \
275	$(COMMONDIR)/Net/URL.cpp \
276	$(COMMONDIR)/Net/WebsocketServer.cpp \
277	$(COMMONDIR)/Render/DrawBuffer.cpp \
278	$(COMMONDIR)/Render/TextureAtlas.cpp \
279	$(COMMONDIR)/Serialize/Serializer.cpp \
280	$(COMMONDIR)/Thread/ThreadUtil.cpp \
281	$(COMMONDIR)/Thread/ParallelLoop.cpp \
282	$(COMMONDIR)/Thread/ThreadManager.cpp \
283	$(COMMONDIR)/UI/Root.cpp \
284	$(COMMONDIR)/UI/Screen.cpp \
285	$(COMMONDIR)/UI/UI.cpp \
286	$(COMMONDIR)/UI/Context.cpp \
287	$(COMMONDIR)/UI/UIScreen.cpp \
288	$(COMMONDIR)/UI/Tween.cpp \
289	$(COMMONDIR)/UI/View.cpp \
290	$(COMMONDIR)/UI/ViewGroup.cpp \
291	$(COMMONDIR)/System/Display.cpp \
292	$(COMMONDIR)/ArmCPUDetect.cpp \
293	$(COMMONDIR)/CPUDetect.cpp \
294	$(COMMONDIR)/Buffer.cpp \
295	$(COMMONDIR)/ConsoleListener.cpp \
296	$(COMMONDIR)/ExceptionHandlerSetup.cpp \
297	$(COMMONDIR)/FakeCPUDetect.cpp \
298	$(COMMONDIR)/Log.cpp \
299	$(COMMONDIR)/LogManager.cpp \
300	$(COMMONDIR)/OSVersion.cpp \
301	$(COMMONDIR)/MemoryUtil.cpp \
302	$(COMMONDIR)/MipsCPUDetect.cpp \
303	$(COMMONDIR)/RiscVCPUDetect.cpp \
304	$(COMMONDIR)/LogReporting.cpp \
305	$(COMMONDIR)/SysError.cpp \
306	$(COMMONDIR)/StringUtils.cpp \
307	$(COMMONDIR)/TimeUtil.cpp
308
309SOURCES_C +=\
310	$(COMMONDIR)/GPU/OpenGL/gl3stub.c
311
312SOURCES_CXX += \
313	$(GPUCOMMONDIR)/VertexDecoderCommon.cpp \
314	$(GPUCOMMONDIR)/GPUStateUtils.cpp \
315	$(GPUCOMMONDIR)/DrawEngineCommon.cpp \
316	$(GPUCOMMONDIR)/SplineCommon.cpp \
317	$(GPUCOMMONDIR)/FramebufferManagerCommon.cpp \
318	$(GPUCOMMONDIR)/PresentationCommon.cpp \
319	$(GPUCOMMONDIR)/ReinterpretFramebuffer.cpp \
320	$(GPUCOMMONDIR)/ShaderId.cpp \
321	$(GPUCOMMONDIR)/ShaderCommon.cpp \
322	$(GPUCOMMONDIR)/ShaderUniforms.cpp \
323	$(GPUCOMMONDIR)/GPUDebugInterface.cpp \
324	$(GPUCOMMONDIR)/DepalettizeShaderCommon.cpp \
325	$(GPUCOMMONDIR)/TransformCommon.cpp \
326	$(GPUCOMMONDIR)/IndexGenerator.cpp \
327	$(GPUCOMMONDIR)/TextureDecoder.cpp \
328	$(GPUCOMMONDIR)/PostShader.cpp \
329	$(COMMONDIR)/Data/Convert/ColorConv.cpp \
330	$(GPUDIR)/Debugger/Breakpoints.cpp \
331	$(GPUDIR)/Debugger/Debugger.cpp \
332	$(GPUDIR)/Debugger/Playback.cpp \
333	$(GPUDIR)/Debugger/Record.cpp \
334	$(GPUDIR)/Debugger/Stepping.cpp \
335	$(GPUDIR)/Common/FragmentShaderGenerator.cpp \
336	$(GPUDIR)/Common/VertexShaderGenerator.cpp \
337	$(GPUDIR)/Common/TextureCacheCommon.cpp \
338	$(GPUDIR)/Common/TextureScalerCommon.cpp \
339	$(GPUDIR)/Common/SoftwareTransformCommon.cpp \
340	$(GPUDIR)/Common/StencilCommon.cpp \
341	$(GPUDIR)/Software/TransformUnit.cpp \
342	$(GPUDIR)/Software/SoftGpu.cpp \
343	$(GPUDIR)/Software/Sampler.cpp \
344	$(GPUDIR)/GeConstants.cpp \
345	$(GPUDIR)/GeDisasm.cpp \
346	$(GPUDIR)/GPUCommon.cpp \
347	$(GPUDIR)/GPU.cpp \
348	$(GPUDIR)/GPUState.cpp \
349	$(GPUDIR)/Math3D.cpp \
350	$(GPUDIR)/Software/Clipper.cpp \
351	$(GPUDIR)/Software/Lighting.cpp \
352	$(GPUDIR)/Software/Rasterizer.cpp \
353	$(GPUDIR)/Software/RasterizerRectangle.cpp \
354	$(GPUDIR)/GLES/DepalettizeShaderGLES.cpp \
355	$(GPUDIR)/GLES/DepthBufferGLES.cpp \
356	$(GPUDIR)/GLES/DrawEngineGLES.cpp \
357	$(GPUDIR)/GLES/GPU_GLES.cpp \
358	$(GPUDIR)/GLES/FragmentTestCacheGLES.cpp \
359	$(GPUDIR)/GLES/FramebufferManagerGLES.cpp \
360	$(GPUDIR)/GLES/TextureCacheGLES.cpp \
361	$(GPUDIR)/GLES/TextureScalerGLES.cpp \
362	$(GPUDIR)/GLES/ShaderManagerGLES.cpp \
363	$(GPUDIR)/GLES/StateMappingGLES.cpp \
364	$(GPUDIR)/GLES/StencilBufferGLES.cpp \
365	$(EXTDIR)/glslang/OGLCompilersDLL/InitializeDll.cpp \
366	$(EXTDIR)/glslang/glslang/GenericCodeGen/CodeGen.cpp \
367	$(EXTDIR)/glslang/glslang/GenericCodeGen/Link.cpp \
368	$(EXTDIR)/glslang/glslang/MachineIndependent/preprocessor/Pp.cpp \
369	$(EXTDIR)/glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp \
370	$(EXTDIR)/glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp \
371	$(EXTDIR)/glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp \
372	$(EXTDIR)/glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp \
373	$(EXTDIR)/glslang/glslang/MachineIndependent/attribute.cpp \
374	$(EXTDIR)/glslang/glslang/MachineIndependent/Constant.cpp \
375	$(EXTDIR)/glslang/glslang/MachineIndependent/InfoSink.cpp \
376	$(EXTDIR)/glslang/glslang/MachineIndependent/Initialize.cpp \
377	$(EXTDIR)/glslang/glslang/MachineIndependent/Intermediate.cpp \
378	$(EXTDIR)/glslang/glslang/MachineIndependent/IntermTraverse.cpp \
379	$(EXTDIR)/glslang/glslang/MachineIndependent/ParseContextBase.cpp \
380	$(EXTDIR)/glslang/glslang/MachineIndependent/ParseHelper.cpp \
381	$(EXTDIR)/glslang/glslang/MachineIndependent/PoolAlloc.cpp \
382	$(EXTDIR)/glslang/glslang/MachineIndependent/RemoveTree.cpp \
383	$(EXTDIR)/glslang/glslang/MachineIndependent/Scan.cpp \
384	$(EXTDIR)/glslang/glslang/MachineIndependent/ShaderLang.cpp \
385	$(EXTDIR)/glslang/glslang/MachineIndependent/SymbolTable.cpp \
386	$(EXTDIR)/glslang/glslang/MachineIndependent/Versions.cpp \
387	$(EXTDIR)/glslang/glslang/MachineIndependent/glslang_tab.cpp \
388	$(EXTDIR)/glslang/glslang/MachineIndependent/intermOut.cpp \
389	$(EXTDIR)/glslang/glslang/MachineIndependent/iomapper.cpp \
390	$(EXTDIR)/glslang/glslang/MachineIndependent/limits.cpp \
391	$(EXTDIR)/glslang/glslang/MachineIndependent/linkValidate.cpp \
392	$(EXTDIR)/glslang/glslang/MachineIndependent/parseConst.cpp \
393	$(EXTDIR)/glslang/glslang/MachineIndependent/propagateNoContraction.cpp \
394	$(EXTDIR)/glslang/glslang/MachineIndependent/reflection.cpp \
395	$(EXTDIR)/glslang/SPIRV/InReadableOrder.cpp \
396	$(EXTDIR)/glslang/SPIRV/GlslangToSpv.cpp \
397	$(EXTDIR)/glslang/SPIRV/Logger.cpp \
398	$(EXTDIR)/glslang/SPIRV/SpvBuilder.cpp \
399	$(EXTDIR)/glslang/SPIRV/SpvPostProcess.cpp \
400	$(EXTDIR)/SPIRV-Cross/spirv_cfg.cpp \
401	$(EXTDIR)/SPIRV-Cross/spirv_cross.cpp \
402	$(EXTDIR)/SPIRV-Cross/spirv_cross_util.cpp \
403	$(EXTDIR)/SPIRV-Cross/spirv_glsl.cpp \
404	$(EXTDIR)/SPIRV-Cross/spirv_hlsl.cpp \
405	$(EXTDIR)/SPIRV-Cross/spirv_parser.cpp \
406	$(EXTDIR)/SPIRV-Cross/spirv_cross_parsed_ir.cpp
407
408ifeq ($(PLATFORM_EXT), win32)
409SOURCES_CXX += $(COMMONDIR)/MemArenaWin32.cpp \
410	       $(EXTDIR)/glslang/glslang/OSDependent/Windows/ossource.cpp \
411	       $(COMMONDIR)/Render/Text/draw_text_win.cpp
412else ifeq ($(PLATFORM_EXT), darwin)
413SOURCES_CXX += $(COMMONDIR)/MemArenaDarwin.cpp \
414	       $(EXTDIR)/glslang/glslang/OSDependent/Unix/ossource.cpp
415else ifeq ($(PLATFORM_EXT), android)
416SOURCES_CXX += $(COMMONDIR)/MemArenaAndroid.cpp \
417	       $(EXTDIR)/glslang/glslang/OSDependent/Unix/ossource.cpp \
418		   $(COMMONDIR)/Render/Text/draw_text_android.cpp
419else
420COREFLAGS += -DVK_USE_PLATFORM_XLIB_KHR
421SOURCES_CXX += $(COMMONDIR)/MemArenaPosix.cpp \
422	       $(EXTDIR)/glslang/glslang/OSDependent/Unix/ossource.cpp
423endif
424
425SOURCES_CXX += \
426           $(COMMONDIR)/Render/Text/draw_text.cpp \
427	       $(EXTDIR)/jpge/jpgd.cpp \
428	       $(EXTDIR)/jpge/jpge.cpp \
429	       $(COREDIR)/AVIDump.cpp \
430	       $(COREDIR)/Config.cpp \
431	       $(COREDIR)/ControlMapper.cpp \
432	       $(COREDIR)/TextureReplacer.cpp \
433	       $(COREDIR)/Core.cpp \
434	       $(COREDIR)/WaveFile.cpp \
435	       $(COREDIR)/KeyMap.cpp \
436	       $(COREDIR)/KeyMapDefaults.cpp \
437	       $(COREDIR)/FileLoaders/HTTPFileLoader.cpp \
438	       $(COREDIR)/FileLoaders/CachingFileLoader.cpp \
439	       $(COREDIR)/FileLoaders/DiskCachingFileLoader.cpp \
440	       $(COREDIR)/FileLoaders/RetryingFileLoader.cpp \
441	       $(COREDIR)/FileLoaders/RamCachingFileLoader.cpp \
442	       $(COREDIR)/FileLoaders/LocalFileLoader.cpp \
443	       $(COREDIR)/CoreTiming.cpp \
444	       $(COREDIR)/CwCheat.cpp \
445	       $(COREDIR)/HDRemaster.cpp \
446	       $(COREDIR)/Instance.cpp \
447	       $(COREDIR)/Debugger/Breakpoints.cpp \
448	       $(COREDIR)/Debugger/SymbolMap.cpp \
449	       $(COREDIR)/Debugger/MemBlockInfo.cpp \
450	       $(COREDIR)/Dialog/PSPDialog.cpp \
451	       $(COREDIR)/Dialog/PSPGamedataInstallDialog.cpp \
452	       $(COREDIR)/Dialog/PSPMsgDialog.cpp \
453	       $(COREDIR)/Dialog/PSPNetconfDialog.cpp \
454	       $(COREDIR)/Dialog/PSPOskDialog.cpp \
455	       $(COREDIR)/Dialog/PSPSaveDialog.cpp \
456	       $(COREDIR)/Dialog/PSPScreenshotDialog.cpp \
457	       $(COREDIR)/Dialog/SavedataParam.cpp \
458	       $(COREDIR)/ELF/ElfReader.cpp \
459	       $(COREDIR)/ELF/PBPReader.cpp \
460	       $(COREDIR)/ELF/PrxDecrypter.cpp \
461	       $(COREDIR)/ELF/ParamSFO.cpp \
462	       $(COREDIR)/FileSystems/tlzrc.cpp \
463	       $(COREDIR)/FileSystems/BlockDevices.cpp \
464	       $(COREDIR)/FileSystems/BlobFileSystem.cpp \
465	       $(COREDIR)/FileSystems/DirectoryFileSystem.cpp \
466	       $(COREDIR)/FileSystems/FileSystem.cpp \
467	       $(COREDIR)/FileSystems/ISOFileSystem.cpp \
468	       $(COREDIR)/FileSystems/MetaFileSystem.cpp \
469	       $(COREDIR)/FileSystems/VirtualDiscFileSystem.cpp \
470	       $(COREDIR)/Font/PGF.cpp \
471	       $(COREDIR)/HLE/HLE.cpp \
472	       $(COREDIR)/HLE/KUBridge.cpp \
473	       $(COREDIR)/HLE/Plugins.cpp \
474	       $(COREDIR)/HLE/sceSha256.cpp \
475	       $(COREDIR)/HLE/sceG729.cpp \
476	       $(COREDIR)/HLE/sceSfmt19937.cpp \
477	       $(COREDIR)/HLE/ReplaceTables.cpp \
478	       $(COREDIR)/HLE/HLEHelperThread.cpp \
479	       $(COREDIR)/HLE/HLETables.cpp \
480	       $(COREDIR)/HLE/sceAdler.cpp \
481	       $(COREDIR)/HLE/sceAtrac.cpp \
482	       $(COREDIR)/HLE/sceAudio.cpp \
483	       $(COREDIR)/HLE/sceAudiocodec.cpp \
484	       $(COREDIR)/HLE/sceAudioRouting.cpp \
485	       $(COREDIR)/HLE/sceCcc.cpp \
486	       $(COREDIR)/HLE/sceChnnlsv.cpp \
487	       $(COREDIR)/HLE/sceCtrl.cpp \
488	       $(COREDIR)/HLE/sceDeflt.cpp \
489	       $(COREDIR)/HLE/sceDisplay.cpp \
490	       $(COREDIR)/HLE/sceDmac.cpp \
491	       $(COREDIR)/HLE/sceGameUpdate.cpp \
492	       $(COREDIR)/HLE/sceGe.cpp \
493	       $(COREDIR)/HLE/sceFont.cpp \
494	       $(COREDIR)/HLE/sceHeap.cpp \
495	       $(COREDIR)/HLE/sceHprm.cpp \
496	       $(COREDIR)/HLE/sceHttp.cpp \
497	       $(COREDIR)/HLE/sceImpose.cpp \
498	       $(COREDIR)/HLE/sceIo.cpp \
499	       $(COREDIR)/HLE/sceUsbMic.cpp \
500	       $(COREDIR)/HLE/sceJpeg.cpp \
501	       $(COREDIR)/HLE/sceKernel.cpp \
502	       $(COREDIR)/HLE/sceKernelAlarm.cpp \
503	       $(COREDIR)/HLE/sceKernelEventFlag.cpp \
504	       $(COREDIR)/HLE/sceKernelHeap.cpp \
505	       $(COREDIR)/HLE/sceKernelInterrupt.cpp \
506	       $(COREDIR)/HLE/sceKernelMbx.cpp \
507	       $(COREDIR)/HLE/sceKernelMemory.cpp \
508	       $(COREDIR)/HLE/sceKernelModule.cpp \
509	       $(COREDIR)/HLE/sceKernelMsgPipe.cpp \
510	       $(COREDIR)/HLE/sceKernelMutex.cpp \
511	       $(COREDIR)/HLE/sceKernelSemaphore.cpp \
512	       $(COREDIR)/HLE/sceKernelThread.cpp \
513	       $(COREDIR)/HLE/sceKernelTime.cpp \
514	       $(COREDIR)/HLE/sceKernelVTimer.cpp \
515	       $(COREDIR)/HLE/sceMpeg.cpp \
516	       $(COREDIR)/HLE/sceNet.cpp \
517	       $(COREDIR)/HLE/sceNetAdhoc.cpp \
518	       $(COREDIR)/HLE/proAdhocServer.cpp \
519	       $(COREDIR)/HLE/proAdhoc.cpp \
520	       $(COREDIR)/HLE/sceOpenPSID.cpp \
521	       $(COREDIR)/HLE/sceP3da.cpp \
522	       $(COREDIR)/HLE/sceMt19937.cpp \
523	       $(COREDIR)/HLE/sceMd5.cpp \
524	       $(COREDIR)/HLE/sceMp4.cpp \
525	       $(COREDIR)/HLE/sceMp3.cpp \
526	       $(COREDIR)/HLE/sceParseHttp.cpp \
527	       $(COREDIR)/HLE/sceParseUri.cpp \
528	       $(COREDIR)/HLE/scePower.cpp \
529	       $(COREDIR)/HLE/scePsmf.cpp \
530	       $(COREDIR)/HLE/sceRtc.cpp \
531	       $(COREDIR)/HLE/sceSas.cpp \
532	       $(COREDIR)/HLE/sceSsl.cpp \
533	       $(COREDIR)/HLE/sceUmd.cpp \
534	       $(COREDIR)/HLE/sceUsb.cpp \
535	       $(COREDIR)/HLE/sceUsbAcc.cpp \
536	       $(COREDIR)/HLE/sceUsbCam.cpp \
537	       $(COREDIR)/HLE/sceUtility.cpp \
538	       $(COREDIR)/HLE/sceVaudio.cpp \
539	       $(COREDIR)/HLE/scePspNpDrm_user.cpp \
540	       $(COREDIR)/HLE/sceNp.cpp \
541	       $(COREDIR)/HLE/scePauth.cpp \
542	       $(COREDIR)/HLE/sceUsbGps.cpp \
543	       $(COREDIR)/HW/BufferQueue.cpp \
544	       $(COREDIR)/HW/Camera.cpp \
545	       $(COREDIR)/HW/SimpleAudioDec.cpp \
546	       $(COREDIR)/HW/AsyncIOManager.cpp \
547	       $(COREDIR)/HW/MediaEngine.cpp \
548	       $(COREDIR)/HW/MpegDemux.cpp \
549	       $(COREDIR)/HW/MemoryStick.cpp \
550	       $(COREDIR)/HW/SasAudio.cpp \
551	       $(COREDIR)/HW/SasReverb.cpp \
552	       $(COREDIR)/HW/StereoResampler.cpp \
553	       $(COREDIR)/Compatibility.cpp \
554	       $(COREDIR)/Host.cpp \
555	       $(COREDIR)/Loaders.cpp \
556	       $(COREDIR)/MIPS/JitCommon/JitCommon.cpp \
557	       $(COREDIR)/MIPS/JitCommon/JitState.cpp \
558	       $(COREDIR)/MIPS/JitCommon/JitBlockCache.cpp \
559	       $(COREDIR)/MIPS/IR/IRCompALU.cpp \
560	       $(COREDIR)/MIPS/IR/IRCompBranch.cpp \
561	       $(COREDIR)/MIPS/IR/IRCompFPU.cpp \
562	       $(COREDIR)/MIPS/IR/IRCompLoadStore.cpp \
563	       $(COREDIR)/MIPS/IR/IRCompVFPU.cpp \
564	       $(COREDIR)/MIPS/IR/IRInterpreter.cpp \
565	       $(COREDIR)/MIPS/IR/IRJit.cpp \
566	       $(COREDIR)/MIPS/IR/IRInst.cpp \
567	       $(COREDIR)/MIPS/IR/IRPassSimplify.cpp \
568	       $(COREDIR)/MIPS/IR/IRRegCache.cpp \
569	       $(COREDIR)/MIPS/IR/IRFrontend.cpp \
570	       $(COREDIR)/MIPS/MIPS.cpp \
571	       $(COREDIR)/MIPS/MIPSAnalyst.cpp \
572	       $(COREDIR)/MIPS/MIPSCodeUtils.cpp \
573	       $(COREDIR)/MIPS/MIPSDebugInterface.cpp \
574	       $(COREDIR)/MIPS/MIPSDis.cpp \
575	       $(COREDIR)/MIPS/MIPSDisVFPU.cpp \
576	       $(COREDIR)/MIPS/MIPSInt.cpp \
577	       $(COREDIR)/MIPS/MIPSIntVFPU.cpp \
578	       $(COREDIR)/MIPS/MIPSTables.cpp \
579	       $(COREDIR)/MIPS/MIPSVFPUUtils.cpp \
580	       $(COREDIR)/MemFault.cpp \
581	       $(COREDIR)/MemMap.cpp \
582	       $(COREDIR)/MemMapFunctions.cpp \
583	       $(COREDIR)/PSPLoaders.cpp \
584	       $(COREDIR)/Replay.cpp \
585	       $(COREDIR)/Reporting.cpp \
586	       $(COREDIR)/SaveState.cpp \
587	       $(COREDIR)/Screenshot.cpp \
588	       $(COREDIR)/System.cpp \
589	       $(COREDIR)/ThreadPools.cpp \
590	       $(COREDIR)/Util/BlockAllocator.cpp \
591	       $(COREDIR)/Util/PPGeDraw.cpp \
592	       $(COREDIR)/Util/AudioFormat.cpp \
593	       $(COREDIR)/Util/PortManager.cpp \
594          $(CORE_DIR)/UI/TextureUtil.cpp \
595          $(CORE_DIR)/UI/GameInfoCache.cpp
596
597SOURCES_CXX += $(COREDIR)/HLE/__sceAudio.cpp
598
599### DYNAREC ###
600ifeq ($(WITH_DYNAREC),1)
601   DYNAFLAGS += -DDYNAREC
602   ifeq ($(TARGET_ARCH),arm)
603      DYNAFLAGS += -D_ARCH_32
604		SOURCES_CXX += $(COMMONDIR)/ArmEmitter.cpp \
605			       $(COREDIR)/MIPS/ARM/ArmAsm.cpp \
606			       $(COREDIR)/MIPS/ARM/ArmCompALU.cpp \
607			       $(COREDIR)/MIPS/ARM/ArmCompBranch.cpp \
608			       $(COREDIR)/MIPS/ARM/ArmCompFPU.cpp \
609			       $(COREDIR)/MIPS/ARM/ArmCompLoadStore.cpp \
610			       $(COREDIR)/MIPS/ARM/ArmCompVFPU.cpp \
611			       $(COREDIR)/MIPS/ARM/ArmCompReplace.cpp \
612			       $(COREDIR)/MIPS/ARM/ArmJit.cpp \
613			       $(COREDIR)/MIPS/ARM/ArmRegCache.cpp \
614			       $(COREDIR)/MIPS/ARM/ArmRegCacheFPU.cpp \
615			       $(EXTDIR)/disarm.cpp \
616			       $(GPUCOMMONDIR)/VertexDecoderArm.cpp
617
618		ifeq ($(HAVE_NEON),1)
619			SOURCES_CXX   += \
620					 $(COREDIR)/MIPS/ARM/ArmCompVFPUNEON.cpp \
621					 $(COREDIR)/MIPS/ARM/ArmCompVFPUNEONUtil.cpp \
622					 $(COREDIR)/Util/AudioFormatNEON.cpp \
623					 $(COMMONDIR)/Data/Convert/ColorConvNEON.cpp \
624					 $(GPUDIR)/Common/TextureDecoderNEON.cpp
625
626			SOURCES_C += $(EXTDIR)/libpng17/arm/arm_init.c \
627				     $(EXTDIR)/libpng17/arm/filter_neon_intrinsics.c
628			ASMFILES   += $(COMMONDIR)/Math/fast/fast_matrix_neon.S \
629				      $(EXTDIR)/libpng17/arm/filter_neon.S
630		endif
631	else ifeq ($(TARGET_ARCH),arm64)
632      DYNAFLAGS += -D_ARCH_64
633      SOURCES_CXX += $(COMMONDIR)/Arm64Emitter.cpp \
634		     $(COREDIR)/MIPS/ARM64/Arm64Asm.cpp \
635		     $(COREDIR)/MIPS/ARM64/Arm64CompALU.cpp \
636		     $(COREDIR)/MIPS/ARM64/Arm64CompBranch.cpp \
637		     $(COREDIR)/MIPS/ARM64/Arm64CompFPU.cpp \
638		     $(COREDIR)/MIPS/ARM64/Arm64CompLoadStore.cpp \
639		     $(COREDIR)/MIPS/ARM64/Arm64CompVFPU.cpp \
640		     $(COREDIR)/MIPS/ARM64/Arm64CompReplace.cpp \
641		     $(COREDIR)/MIPS/ARM64/Arm64Jit.cpp \
642		     $(COREDIR)/MIPS/ARM64/Arm64RegCache.cpp \
643		     $(COREDIR)/MIPS/ARM64/Arm64RegCacheFPU.cpp \
644		     $(COREDIR)/Util/DisArm64.cpp \
645		     $(GPUCOMMONDIR)/VertexDecoderArm64.cpp
646
647		ifeq ($(HAVE_NEON),1)
648			SOURCES_CXX   += \
649					 $(COREDIR)/MIPS/ARM/ArmCompVFPUNEON.cpp \
650					 $(COREDIR)/MIPS/ARM/ArmCompVFPUNEONUtil.cpp \
651					 $(COREDIR)/Util/AudioFormatNEON.cpp \
652					 $(COMMONDIR)/Data/Convert/ColorConvNEON.cpp \
653					 $(GPUDIR)/Common/TextureDecoderNEON.cpp
654
655			SOURCES_C += $(EXTDIR)/libpng17/arm/arm_init.c \
656				     $(EXTDIR)/libpng17/arm/filter_neon_intrinsics.c
657			ASMFILES   += $(COMMONDIR)/math/fast/fast_matrix_neon.S \
658				      $(EXTDIR)/libpng17/arm/filter_neon.S
659		endif
660   else
661	ifneq (,$(findstring msvc,$(platform)))
662	ifeq (,$(findstring x64,$(platform)))
663		CPUFLAGS += /arch:SSE2
664	endif
665		CPUFLAGS += -D_M_IX86_FP
666	else
667		CPUFLAGS += -msse -msse2
668	endif
669      ifeq ($(TARGET_ARCH),x86_64)
670         CPUFLAGS += -D_M_X64 -D_ARCH_64
671      else
672         CPUFLAGS += -D_M_IX86 -D_ARCH_32
673         ifeq (,$(findstring msvc,$(platform)))
674            CPUFLAGS += -m32
675         endif
676      endif
677	   SOURCES_CXX += $(GPUDIR)/Software/SamplerX86.cpp
678	   SOURCES_CXX += $(COMMONDIR)/x64Emitter.cpp \
679						$(COMMONDIR)/x64Analyzer.cpp \
680						$(COMMONDIR)/ABI.cpp \
681						$(COMMONDIR)/Thunk.cpp \
682						$(COREDIR)/MIPS/x86/CompReplace.cpp \
683						$(COREDIR)/MIPS/x86/CompBranch.cpp \
684						$(COREDIR)/MIPS/x86/Asm.cpp \
685						$(COREDIR)/MIPS/x86/CompALU.cpp \
686						$(COREDIR)/MIPS/x86/CompVFPU.cpp \
687						$(COREDIR)/MIPS/x86/CompLoadStore.cpp \
688						$(COREDIR)/MIPS/x86/CompFPU.cpp \
689						$(COREDIR)/MIPS/x86/Jit.cpp \
690						$(COREDIR)/MIPS/x86/JitSafeMem.cpp \
691						$(COREDIR)/MIPS/x86/RegCache.cpp \
692						$(COREDIR)/MIPS/x86/RegCacheFPU.cpp \
693						$(GPUDIR)/Common/VertexDecoderX86.cpp
694		SOURCES_C   += $(COMMONDIR)/Math/fast/fast_matrix_sse.c
695   endif
696endif
697#UDIS86
698# Compiled and linked even on ARM for now
699
700SOURCES_C += $(EXTDIR)/udis86/decode.c \
701			 $(EXTDIR)/udis86/itab.c \
702			 $(EXTDIR)/udis86/syn-intel.c \
703			 $(EXTDIR)/udis86/syn.c \
704			 $(EXTDIR)/udis86/udis86.c
705
706INCFLAGS += -I$(EXTDIR)/miniupnp-build
707SOURCES_C += \
708    $(EXTDIR)/miniupnp/miniupnpc/addr_is_reserved.c \
709    $(EXTDIR)/miniupnp/miniupnpc/connecthostport.c \
710    $(EXTDIR)/miniupnp/miniupnpc/igd_desc_parse.c \
711    $(EXTDIR)/miniupnp/miniupnpc/minisoap.c \
712    $(EXTDIR)/miniupnp/miniupnpc/minissdpc.c \
713    $(EXTDIR)/miniupnp/miniupnpc/miniupnpc.c \
714    $(EXTDIR)/miniupnp/miniupnpc/miniwget.c \
715    $(EXTDIR)/miniupnp/miniupnpc/minixml.c \
716    $(EXTDIR)/miniupnp/miniupnpc/minixmlvalid.c \
717    $(EXTDIR)/miniupnp/miniupnpc/portlistingparse.c \
718    $(EXTDIR)/miniupnp/miniupnpc/receivedata.c \
719    $(EXTDIR)/miniupnp/miniupnpc/upnpcommands.c \
720    $(EXTDIR)/miniupnp/miniupnpc/upnpdev.c \
721    $(EXTDIR)/miniupnp/miniupnpc/upnperrors.c \
722    $(EXTDIR)/miniupnp/miniupnpc/upnpreplyparse.c
723
724SOURCES_CXX += \
725	$(GPUDIR)/Vulkan/DepalettizeShaderVulkan.cpp \
726	$(GPUDIR)/Vulkan/DrawEngineVulkan.cpp \
727	$(GPUDIR)/Vulkan/FramebufferManagerVulkan.cpp \
728	$(GPUDIR)/Vulkan/GPU_Vulkan.cpp \
729	$(GPUDIR)/Vulkan/PipelineManagerVulkan.cpp \
730	$(GPUDIR)/Vulkan/ShaderManagerVulkan.cpp \
731	$(GPUDIR)/Vulkan/StateMappingVulkan.cpp \
732	$(GPUDIR)/Vulkan/StencilBufferVulkan.cpp \
733	$(GPUDIR)/Vulkan/TextureCacheVulkan.cpp \
734	$(GPUDIR)/Vulkan/TextureScalerVulkan.cpp \
735	$(GPUDIR)/Vulkan/VulkanUtil.cpp \
736	$(LIBRETRODIR)/LibretroVulkanContext.cpp \
737	$(LIBRETRODIR)/libretro_vulkan.cpp
738
739
740ifeq ($(PLATFORM_EXT), win32)
741SOURCES_CXX += \
742	$(GPUDIR)/Directx9/DepalettizeShaderDX9.cpp \
743	$(GPUDIR)/Directx9/DrawEngineDX9.cpp \
744	$(GPUDIR)/Directx9/FramebufferManagerDX9.cpp \
745	$(GPUDIR)/Directx9/GPU_DX9.cpp \
746	$(GPUDIR)/Directx9/ShaderManagerDX9.cpp \
747	$(GPUDIR)/Directx9/StateMappingDX9.cpp \
748	$(GPUDIR)/Directx9/StencilBufferDX9.cpp \
749	$(GPUDIR)/Directx9/TextureCacheDX9.cpp \
750	$(GPUDIR)/Directx9/TextureScalerDX9.cpp
751
752SOURCES_CXX += \
753	$(GPUDIR)/D3D11/DepalettizeShaderD3D11.cpp \
754	$(GPUDIR)/D3D11/DrawEngineD3D11.cpp \
755	$(GPUDIR)/D3D11/FramebufferManagerD3D11.cpp \
756	$(GPUDIR)/D3D11/GPU_D3D11.cpp \
757	$(GPUDIR)/D3D11/D3D11Util.cpp \
758	$(GPUDIR)/D3D11/ShaderManagerD3D11.cpp \
759	$(GPUDIR)/D3D11/StateMappingD3D11.cpp \
760	$(GPUDIR)/D3D11/StencilBufferD3D11.cpp \
761	$(GPUDIR)/D3D11/TextureCacheD3D11.cpp \
762	$(GPUDIR)/D3D11/TextureScalerD3D11.cpp \
763   $(LIBRETRODIR)/LibretroD3D11Context.cpp
764
765SOURCES_CXX += \
766	$(COMMONDIR)/GPU/D3D9/D3D9ShaderCompiler.cpp \
767	$(COMMONDIR)/GPU/D3D9/D3D9StateCache.cpp \
768	$(COMMONDIR)/GPU/D3D9/D3DCompilerLoader.cpp \
769	$(COMMONDIR)/GPU/D3D9/thin3d_d3d9.cpp \
770	$(COMMONDIR)/GPU/D3D11/D3D11Loader.cpp \
771	$(COMMONDIR)/GPU/D3D11/thin3d_d3d11.cpp
772
773INCFLAGS += -I$(CORE_DIR)/dx9sdk/Include -I$(CORE_DIR)/dx9sdk/Include/DX11
774
775endif
776
777SOURCES_CXX += \
778		$(LIBRETRODIR)/libretro.cpp \
779		$(LIBRETRODIR)/LibretroGraphicsContext.cpp \
780		$(LIBRETRODIR)/LibretroGLContext.cpp \
781		$(LIBRETRODIR)/LibretroGLCoreContext.cpp
782
783SOURCES_C +=   $(ZSTDDIR)/common/debug.c \
784               $(ZSTDDIR)/common/entropy_common.c \
785               $(ZSTDDIR)/common/error_private.c \
786               $(ZSTDDIR)/common/fse_decompress.c \
787               $(ZSTDDIR)/common/pool.c \
788               $(ZSTDDIR)/common/threading.c
789
790#SOURCES_C +=   $(ZSTDDIR)/common/xxhash.c
791
792SOURCES_C +=   \
793               $(ZSTDDIR)/common/zstd_common.c \
794               $(ZSTDDIR)/compress/fse_compress.c \
795               $(ZSTDDIR)/compress/hist.c \
796               $(ZSTDDIR)/compress/huf_compress.c \
797               $(ZSTDDIR)/compress/zstd_compress.c \
798               $(ZSTDDIR)/compress/zstd_compress_literals.c \
799               $(ZSTDDIR)/compress/zstd_compress_sequences.c \
800               $(ZSTDDIR)/compress/zstd_compress_superblock.c \
801               $(ZSTDDIR)/compress/zstd_double_fast.c \
802               $(ZSTDDIR)/compress/zstd_fast.c \
803               $(ZSTDDIR)/compress/zstd_lazy.c \
804               $(ZSTDDIR)/compress/zstd_ldm.c \
805               $(ZSTDDIR)/compress/zstd_opt.c \
806               $(ZSTDDIR)/compress/zstdmt_compress.c \
807               $(ZSTDDIR)/decompress/huf_decompress.c \
808               $(ZSTDDIR)/decompress/zstd_ddict.c \
809               $(ZSTDDIR)/decompress/zstd_decompress.c \
810               $(ZSTDDIR)/decompress/zstd_decompress_block.c \
811               $(ZSTDDIR)/dictBuilder/cover.c \
812               $(ZSTDDIR)/dictBuilder/divsufsort.c \
813               $(ZSTDDIR)/dictBuilder/fastcover.c \
814               $(ZSTDDIR)/dictBuilder/zdict.c
815
816ifneq ($(STATIC_LINKING), 1)
817SOURCES_C += \
818		$(EXTDIR)/zlib/adler32.c \
819		$(EXTDIR)/zlib/compress.c \
820		$(EXTDIR)/zlib/crc32.c \
821		$(EXTDIR)/zlib/deflate.c \
822		$(EXTDIR)/zlib/gzclose.c \
823		$(EXTDIR)/zlib/gzlib.c \
824		$(EXTDIR)/zlib/gzread.c \
825		$(EXTDIR)/zlib/gzwrite.c \
826		$(EXTDIR)/zlib/inffast.c \
827		$(EXTDIR)/zlib/inflate.c \
828		$(EXTDIR)/zlib/inftrees.c \
829		$(EXTDIR)/zlib/trees.c \
830		$(EXTDIR)/zlib/uncompr.c \
831		$(EXTDIR)/zlib/zutil.c
832endif
833
834GIT_VERSION_SRC = $(CORE_DIR)/git-version.cpp
835GIT_VERSION := $(shell git describe --always || echo v1.7.0-git)
836GIT_VERSION_NO_UPDATE = $(findstring 1,$(shell grep -s PPSSPP_GIT_VERSION_NO_UPDATE $(GIT_VERSION_SRC)))
837ifneq (,$(findstring $(GIT_VERSION),$(shell grep -s char $(GIT_VERSION_SRC))))
838   GIT_VERSION_NO_UPDATE = 1
839endif
840
841ifneq ($(GIT_VERSION_NO_UPDATE),1)
842   $(shell echo 'const char *PPSSPP_GIT_VERSION = "${GIT_VERSION}";' > $(GIT_VERSION_SRC))
843   $(shell echo '#define PPSSPP_GIT_VERSION_NO_UPDATE 0' >> $(GIT_VERSION_SRC))
844endif
845
846SOURCES_CXX += $(GIT_VERSION_SRC)
847