mirror of
https://github.com/libretro/parallel-dc.git
synced 2026-11-07 12:37:53 -10:00
486 lines
19 KiB
Makefile
486 lines
19 KiB
Makefile
DEPS_DIR = $(CORE_DIR)/core/deps
|
|
LIBRETRO_COMM_DIR = $(CORE_DIR)/core/libretro-common
|
|
|
|
INCFLAGS += -I$(CORE_DIR)/core/libretro \
|
|
-I$(CORE_DIR)/core/ \
|
|
-I$(DEPS_DIR) \
|
|
-I$(LIBRETRO_COMM_DIR)/include \
|
|
-I$(DEPS_DIR)/vixl \
|
|
-I$(DEPS_DIR)/stb
|
|
|
|
SOURCES_C ?=
|
|
SOURCES_CXX := \
|
|
$(CORE_DIR)/core/hw/arm7/arm_mem.cpp \
|
|
$(CORE_DIR)/core/hw/arm7/arm7.cpp \
|
|
$(CORE_DIR)/core/hw/arm7/arm7_rec.cpp \
|
|
$(CORE_DIR)/core/hw/arm7/arm7_rec_x64.cpp \
|
|
$(CORE_DIR)/core/hw/arm7/arm7_rec_x86.cpp \
|
|
$(CORE_DIR)/core/hw/arm7/arm7_rec_arm64.cpp \
|
|
$(CORE_DIR)/core/hw/arm7/vbaARM.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/aica/dsp.cpp \
|
|
$(CORE_DIR)/core/hw/aica/dsp_arm64.cpp \
|
|
$(CORE_DIR)/core/hw/aica/dsp_interp.cpp \
|
|
$(CORE_DIR)/core/hw/aica/dsp_x64.cpp \
|
|
$(CORE_DIR)/core/hw/aica/dsp_x86.cpp \
|
|
$(CORE_DIR)/core/hw/aica/aica.cpp \
|
|
$(CORE_DIR)/core/hw/aica/aica_if.cpp \
|
|
$(CORE_DIR)/core/hw/aica/aica_mem.cpp \
|
|
$(CORE_DIR)/core/hw/aica/sgc_if.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/holly/holly_intc.cpp \
|
|
$(CORE_DIR)/core/hw/holly/sb.cpp \
|
|
$(CORE_DIR)/core/hw/holly/sb_mem.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/gdrom/gdrom_response.cpp \
|
|
$(CORE_DIR)/core/hw/gdrom/gdromv3.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/maple/maple_helper.cpp \
|
|
$(CORE_DIR)/core/hw/maple/maple_devs.cpp \
|
|
$(CORE_DIR)/core/hw/maple/maple_if.cpp \
|
|
$(CORE_DIR)/core/hw/maple/maple_cfg.cpp \
|
|
$(CORE_DIR)/core/hw/maple/vmu_beep.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/mem/_vmem.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/pvr/drkPvr.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/elan_host.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/Renderer_if.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/pvr_mem.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/pvr_regs.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/pvr_sb_regs.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/spg.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/ta.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/ta_ctx.cpp \
|
|
$(CORE_DIR)/core/hw/pvr/ta_vtx.cpp \
|
|
$(CORE_DIR)/core/rend/CustomTexture.cpp \
|
|
$(CORE_DIR)/core/rend/sorter.cpp \
|
|
$(CORE_DIR)/core/rend/upscaler.cpp \
|
|
$(CORE_DIR)/core/rend/TexCache.cpp \
|
|
$(CORE_DIR)/core/rend/rtt_watch.cpp \
|
|
$(CORE_DIR)/core/rend/last_picture.cpp \
|
|
$(CORE_DIR)/core/rend/tile/compute_frame.cpp \
|
|
\
|
|
$(CORE_DIR)/core/hw/sh4/sh4_mmr.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/sh4_mem.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/sh4_interrupts.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/sh4_rom.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/sh4_core_regs.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/sh4_sched.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/sh4_opcode_list.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/interpr/sh4_interpreter.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/interpr/sh4_fpu.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/interpr/sh4_opcodes.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/serial.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/rtc.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/bsc.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/tmu.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/ccn.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/intc.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/ubc.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/cpg.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/dmac.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/mmu.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/modules/fastmmu.cpp \
|
|
$(CORE_DIR)/core/imgread/ImgReader.cpp \
|
|
$(CORE_DIR)/core/imgread/cdi.cpp \
|
|
$(CORE_DIR)/core/imgread/chd.cpp \
|
|
$(CORE_DIR)/core/imgread/common.cpp \
|
|
$(CORE_DIR)/core/imgread/cue.cpp \
|
|
$(CORE_DIR)/core/imgread/gdi.cpp \
|
|
$(CORE_DIR)/core/log/LogManagerLibretro.cpp \
|
|
\
|
|
$(CORE_DIR)/core/cheats.cpp \
|
|
$(CORE_DIR)/core/nullDC.cpp \
|
|
$(CORE_DIR)/core/serialize.cpp \
|
|
$(CORE_DIR)/core/stdclass.cpp \
|
|
\
|
|
$(DEPS_DIR)/crypto/sha256.cpp \
|
|
$(DEPS_DIR)/crypto/md5.cpp \
|
|
$(DEPS_DIR)/libelf/elf.cpp \
|
|
$(DEPS_DIR)/libelf/elf32.cpp \
|
|
$(DEPS_DIR)/libelf/elf64.cpp \
|
|
$(DEPS_DIR)/chdpsr/cdipsr.cpp \
|
|
\
|
|
$(CORE_DIR)/core/reios/reios_elf.cpp \
|
|
$(CORE_DIR)/core/reios/reios.cpp \
|
|
$(CORE_DIR)/core/reios/gdrom_hle.cpp \
|
|
$(CORE_DIR)/core/reios/descrambl.cpp \
|
|
\
|
|
|
|
# CHD images are read by libretro-common's clean-room rchd reader. Its
|
|
# FLAC and zstd hunk codecs come from the same tree; deflate and LZMA
|
|
# are the archive codecs below, and the version 5 map needs
|
|
# encoding_huffman.c to open at all.
|
|
CHD_SOURCES_C = \
|
|
$(CORE_DIR)/core/imgread/chd_image.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/chd/rchd.c \
|
|
$(LIBRETRO_COMM_DIR)/encodings/encoding_huffman.c \
|
|
$(LIBRETRO_COMM_DIR)/encodings/encoding_rzstd.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/flac/rflac.c
|
|
|
|
# zip and 7z archives: rzip_archive over encoding_deflate.c, r7z_archive
|
|
# over the LZMA/LZMA2/BCJ units.
|
|
ARCHIVE_SOURCES_C = \
|
|
$(CORE_DIR)/core/archive/archive.c \
|
|
$(LIBRETRO_COMM_DIR)/encodings/encoding_deflate.c \
|
|
$(LIBRETRO_COMM_DIR)/encodings/encoding_crc32.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/7z/r7z_archive.c \
|
|
$(LIBRETRO_COMM_DIR)/encodings/encoding_rbzip2.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/7z/r7z_lzma.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/7z/r7z_lzma2.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/7z/r7z_lzma_stream.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/7z/r7z_bcj2.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/7z/r7z_filters.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/zip/rzip_archive.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/rar/rrar_archive.c \
|
|
$(LIBRETRO_COMM_DIR)/formats/rar/rrar_ppmd7.c \
|
|
$(LIBRETRO_COMM_DIR)/features/features_cpu.c
|
|
|
|
PICOTCP_INCFLAGS = \
|
|
-I$(DEPS_DIR)/picotcp/include \
|
|
-I$(DEPS_DIR)/picotcp/modules
|
|
|
|
PICOTCP_CFLAGS = -DPICO_SUPPORT_UDP -DPICO_SUPPORT_DHCPD
|
|
|
|
PICOTCP_SOURCES_C = \
|
|
$(DEPS_DIR)/picotcp/modules/pico_arp.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_dev_ppp.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_dhcp_common.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_dhcp_server.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_dns_client.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_dns_common.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_ethernet.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_fragments.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_ipv4.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_socket_tcp.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_socket_udp.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_tcp.c \
|
|
$(DEPS_DIR)/picotcp/modules/pico_udp.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_device.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_frame.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_md5.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_protocol.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_socket_multicast.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_socket.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_stack.c \
|
|
$(DEPS_DIR)/picotcp/stack/pico_tree.c
|
|
|
|
XXHASH_SOURCES_C = $(DEPS_DIR)/xxhash/xxhash.c
|
|
|
|
# The NAOMI 2's geometry processor
|
|
SOURCES_C += $(CORE_DIR)/core/hw/pvr/elan.c
|
|
|
|
# The ROMs of a NAOMI cartridge that share a range a word each in turn
|
|
SOURCES_C += $(CORE_DIR)/core/hw/naomi/naomi_interleave.c
|
|
|
|
SOURCES_ASM :=
|
|
|
|
ifeq ($(SYSTEM_PICOTCP), 1)
|
|
CFLAGS += $(shell pkg-config --cflags picotcp)
|
|
LIBS += $(shell pkg-config --libs picotcp)
|
|
else
|
|
INCFLAGS += $(PICOTCP_INCFLAGS)
|
|
CFLAGS += $(PICOTCP_CFLAGS)
|
|
SOURCES_C += $(PICOTCP_SOURCES_C)
|
|
endif
|
|
|
|
ifeq ($(SYSTEM_XXHASH), 1)
|
|
CFLAGS += $(shell pkg-config --cflags libxxhash)
|
|
LIBS += $(shell pkg-config --libs libxxhash)
|
|
else
|
|
SOURCES_C += $(XXHASH_SOURCES_C)
|
|
endif
|
|
|
|
ifeq ($(ENABLE_MODEM), 1)
|
|
INCFLAGS += -I$(CORE_DIR)/core/deps/miniupnpc
|
|
SOURCES_CXX += $(CORE_DIR)/core/hw/modem/dns.cpp \
|
|
$(CORE_DIR)/core/hw/modem/modem.cpp \
|
|
$(CORE_DIR)/core/hw/bba/bba.cpp \
|
|
$(CORE_DIR)/core/hw/bba/rtl8139c.cpp \
|
|
$(CORE_DIR)/core/network/picoppp.cpp \
|
|
$(CORE_DIR)/core/network/miniupnp.cpp
|
|
SOURCES_CXX += $(CORE_DIR)/core/hw/modem/v42.cpp \
|
|
$(CORE_DIR)/core/hw/modem/v42bis.cpp \
|
|
$(CORE_DIR)/core/network/dcnet.cpp
|
|
|
|
SOURCES_C += \
|
|
$(CORE_DIR)/core/deps/miniupnpc/addr_is_reserved.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/igd_desc_parse.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/upnpreplyparse.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/upnpcommands.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/upnperrors.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/connecthostport.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/portlistingparse.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/receivedata.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/upnpdev.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/minissdpc.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/miniwget.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/miniupnpc.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/minixml.c \
|
|
$(CORE_DIR)/core/deps/miniupnpc/minisoap.c
|
|
|
|
CORE_DEFINES += -DENABLE_MODEM -DMINIUPNP_STATICLIB
|
|
endif
|
|
|
|
ifeq ($(HAVE_GL), 1)
|
|
SOURCES_CXX += $(CORE_DIR)/core/rend/gles/gles.cpp \
|
|
$(CORE_DIR)/core/rend/gles/gldraw.cpp \
|
|
$(CORE_DIR)/core/rend/gles/gltex.cpp \
|
|
$(CORE_DIR)/core/rend/gles/gl_texdecoder.cpp \
|
|
$(CORE_DIR)/core/rend/gles/gl_writeout.cpp \
|
|
$(CORE_DIR)/core/rend/gles/glprogram_cache.cpp
|
|
ifeq ($(HAVE_GL4), 1)
|
|
SOURCES_CXX += $(CORE_DIR)/core/rend/gl4/gles.cpp \
|
|
$(CORE_DIR)/core/rend/gl4/gldraw.cpp \
|
|
$(CORE_DIR)/core/rend/gl4/gltex.cpp \
|
|
$(CORE_DIR)/core/rend/gl4/abuffer.cpp \
|
|
$(CORE_DIR)/core/rend/gles/ta_decoder_gl.cpp
|
|
endif
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/glsym/rglgen.c \
|
|
$(LIBRETRO_COMM_DIR)/glsm/glsm.c
|
|
ifeq ($(GLES), 1)
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/glsym/glsym_es2.c
|
|
else
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/glsym/glsym_gl.c
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_VULKAN), 1)
|
|
# (the shaders are SPIR-V made when the source is: tools/rend/kernels_spv.sh; no GLSL compiler is built in)
|
|
INCFLAGS += -I$(DEPS_DIR)/khronos
|
|
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/vulkan/vulkan_symbol_wrapper.c \
|
|
$(CORE_DIR)/core/rend/vulkan/vk_heap.c \
|
|
$(CORE_DIR)/core/rend/vulkan/hdr_encode_vk.c
|
|
SOURCES_CXX += \
|
|
$(CORE_DIR)/core/rend/vulkan/vulkan_context.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/heap.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/buffer.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/drawer.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/motion_pass.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/writeout.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/rtt_read.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/pipeline.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/pso.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/quad.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/shaders.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/texture.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/tex_decoder.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/ta_decoder.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/vmu.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/vulkan_renderer.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/oit/oit_drawer.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/oit/oit_pipeline.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/oit/oit_renderer.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/oit/oit_renderpass.cpp \
|
|
$(CORE_DIR)/core/rend/vulkan/compute_drawer.cpp
|
|
endif
|
|
|
|
# Direct3D 11, on Windows: the frontend's device, the shaders compiled when
|
|
# they are first needed
|
|
ifeq ($(HAVE_D3D11), 1)
|
|
SOURCES_CXX += \
|
|
$(CORE_DIR)/core/rend/dx11/dx11context_lr.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_overlay.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_nvapi.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_renderer.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_writeout.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_renderstate.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_shaders.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_ta_decoder.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_texdecoder.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/dx11_texture.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/oit/dx11_oitrenderer.cpp \
|
|
$(CORE_DIR)/core/rend/dx11/oit/dx11_oitshaders.cpp
|
|
SOURCES_C += $(CORE_DIR)/core/rend/hdr/hdr_encode_d3d11.c
|
|
endif
|
|
|
|
# Direct3D 12, on Windows: the frontend's device and queue, the shaders DXBC
|
|
# made when the core is built (rend/dx12/dx12_dxbc.inc)
|
|
ifeq ($(HAVE_D3D12), 1)
|
|
SOURCES_CXX += \
|
|
$(CORE_DIR)/core/rend/dx12/dx12context_lr.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_overlay.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_pso.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_nvapi.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_renderer.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_shaders.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_ta_decoder.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_compute.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_writeout.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_texdecoder.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/dx12_texture.cpp \
|
|
$(CORE_DIR)/core/rend/dx12/oit/dx12_oitrenderer.cpp
|
|
SOURCES_C += $(CORE_DIR)/core/rend/hdr/hdr_encode_d3d12.c
|
|
endif
|
|
|
|
# The HDR output's Display Transform (rend/hdr/, Color Format), for the
|
|
# renderers that have the HDR output
|
|
ifneq (,$(filter 1,$(HAVE_VULKAN) $(HAVE_D3D11) $(HAVE_D3D12)))
|
|
SOURCES_C += $(CORE_DIR)/core/rend/hdr/hdr_output.c \
|
|
$(CORE_DIR)/core/rend/hdr/hdr_transform.c \
|
|
$(CORE_DIR)/core/rend/hdr/hdr_aces2.c \
|
|
$(CORE_DIR)/core/rend/hdr/hdr_display.c \
|
|
$(CORE_DIR)/core/rend/hdr/hdr_libretro.c
|
|
endif
|
|
|
|
# NVIDIA's NVAPI, loaded when it is run, for either Direct3D renderer
|
|
# (libretro-common's loader, gfx/nvidia/nvapi_loader.h)
|
|
ifneq (,$(filter 1,$(HAVE_D3D11) $(HAVE_D3D12)))
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/gfx/nvidia/nvapi_loader.c
|
|
endif
|
|
|
|
# Shaders and pipelines made ahead on a thread of their own, for either
|
|
# Direct3D renderer (rend/d3d_warm.h)
|
|
ifneq (,$(filter 1,$(HAVE_D3D11) $(HAVE_D3D12)))
|
|
SOURCES_C += $(CORE_DIR)/core/rend/d3d_warm.c
|
|
endif
|
|
ifeq ($(HAVE_D3D11), 1)
|
|
SOURCES_C += $(CORE_DIR)/core/rend/d3d_shader_cache.c
|
|
endif
|
|
|
|
# Direct3D 9, on Windows: the frontend's device, every shader compiled when
|
|
# the renderer is first set up
|
|
ifeq ($(HAVE_D3D9), 1)
|
|
SOURCES_CXX += \
|
|
$(CORE_DIR)/core/rend/dx9/dx9context_lr.cpp \
|
|
$(CORE_DIR)/core/rend/dx9/dx9_overlay.cpp \
|
|
$(CORE_DIR)/core/rend/dx9/dx9_renderer.cpp \
|
|
$(CORE_DIR)/core/rend/dx9/dx9_shaders.cpp \
|
|
$(CORE_DIR)/core/rend/dx9/dx9_texture.cpp \
|
|
$(CORE_DIR)/core/rend/dx9/dx9_texdecoder.cpp
|
|
endif
|
|
|
|
SOURCES_CXX += $(CORE_DIR)/core/hw/naomi/naomi.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/naomi_cart.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/decrypt.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/m1cartridge.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/m4cartridge.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/awcartridge.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/gdcartridge.cpp \
|
|
$(CORE_DIR)/core/hw/flashrom/x76f100.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/naomi_m3comm.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/card_reader.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/touchscreen.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/hopper.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/printer.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/midiffb.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/systemsp.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/dinokich.cpp \
|
|
$(CORE_DIR)/core/hw/naomi/dinokich_card.cpp \
|
|
$(CORE_DIR)/core/network/naomi_network.cpp
|
|
|
|
# The device in the Dreamcast's expansion port, in every build
|
|
SOURCES_CXX += $(CORE_DIR)/core/network/netstate.cpp
|
|
|
|
ifeq ($(HAVE_GENERIC_JIT), 1)
|
|
DYNAREC_USED = 1
|
|
SOURCES_CXX += $(CORE_DIR)/core/rec-cpp/rec_cpp.cpp
|
|
endif
|
|
|
|
# Recompiler (x64)
|
|
ifneq ($(filter $(WITH_DYNAREC), x86_64 x64),)
|
|
DYNAREC_USED = 1
|
|
SOURCES_CXX += $(CORE_DIR)/core/rec-x64/rec_x64.cpp
|
|
|
|
# Recompiler (x86 32bit)
|
|
else ifneq ($(filter $(WITH_DYNAREC), i386 i686 x86),)
|
|
DYNAREC_USED = 1
|
|
SOURCES_CXX += $(CORE_DIR)/core/rec-x86/rec_x86.cpp
|
|
endif
|
|
|
|
|
|
# Recompiler (ARM)
|
|
ifeq ($(WITH_DYNAREC), arm)
|
|
DYNAREC_USED = 1
|
|
SOURCES_CXX += $(CORE_DIR)/core/rec-ARM/rec_arm.cpp
|
|
SOURCES_ASM += $(CORE_DIR)/core/rec-ARM/ngen_arm.S
|
|
endif
|
|
|
|
# Recompiler (ARM64)
|
|
ifneq ($(filter $(WITH_DYNAREC), arm64 aarch64),)
|
|
DYNAREC_USED = 1
|
|
# (for macOS, what it has is in rec_arm64.cpp, in Apple's syntax)
|
|
ifeq (,$(findstring osx,$(platform)))
|
|
SOURCES_ASM += $(CORE_DIR)/core/rec-ARM64/ngen_arm64.S
|
|
endif
|
|
SOURCES_CXX += $(CORE_DIR)/core/rec-ARM64/rec_arm64.cpp \
|
|
$(DEPS_DIR)/vixl/code-buffer-vixl.cc \
|
|
$(DEPS_DIR)/vixl/compiler-intrinsics-vixl.cc \
|
|
$(DEPS_DIR)/vixl/cpu-features.cc \
|
|
$(DEPS_DIR)/vixl/utils-vixl.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/assembler-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/cpu-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/cpu-features-auditor-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/decoder-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/disasm-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/instructions-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/instrument-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/logic-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/macro-assembler-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/operands-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/pointer-auth-aarch64.cc \
|
|
$(DEPS_DIR)/vixl/aarch64/simulator-aarch64.cc
|
|
endif
|
|
|
|
# Dynarec
|
|
ifeq ($(DYNAREC_USED), 1)
|
|
SOURCES_CXX += $(CORE_DIR)/core/hw/sh4/dyna/decoder.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/dyna/driver.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/dyna/blockmanager.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/dyna/wait_site.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/dyna/shil.cpp \
|
|
$(CORE_DIR)/core/hw/sh4/dyna/ssa.cpp
|
|
endif
|
|
|
|
SOURCES_CXX += $(CORE_DIR)/core/libretro/libretro.cpp \
|
|
$(CORE_DIR)/core/libretro/audiostream.cpp \
|
|
$(CORE_DIR)/core/libretro/common.cpp \
|
|
$(CORE_DIR)/core/libretro/vmem_utils.cpp
|
|
|
|
SOURCES_C += $(DEPS_DIR)/coreio/coreio.c
|
|
SOURCES_C += $(CORE_DIR)/core/savewriter.c
|
|
|
|
# When statically linked into RetroArch (e.g. libnx), the frontend already
|
|
# compiles these libretro-common sources; building them again would duplicate
|
|
# symbols at link time. The headers stay -- they now match current upstream, so
|
|
# the declarations agree with the objects RetroArch provides.
|
|
ifneq ($(STATIC_LINKING), 1)
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/memmap/memalign.c \
|
|
$(LIBRETRO_COMM_DIR)/file/file_path.c \
|
|
$(LIBRETRO_COMM_DIR)/file/file_path_io.c \
|
|
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \
|
|
$(LIBRETRO_COMM_DIR)/vfs/vfs_prefetch.c \
|
|
$(LIBRETRO_COMM_DIR)/streams/file_stream.c \
|
|
$(LIBRETRO_COMM_DIR)/streams/file_stream_transforms.c \
|
|
$(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \
|
|
$(LIBRETRO_COMM_DIR)/compat/compat_strl.c \
|
|
$(LIBRETRO_COMM_DIR)/compat/fopen_utf8.c \
|
|
$(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c \
|
|
$(LIBRETRO_COMM_DIR)/file/retro_dirent.c \
|
|
$(LIBRETRO_COMM_DIR)/string/stdstring.c \
|
|
$(LIBRETRO_COMM_DIR)/string/rstrtod.c \
|
|
$(LIBRETRO_COMM_DIR)/time/rtime.c
|
|
endif
|
|
|
|
ifeq ($(NO_THREADS), 1)
|
|
else
|
|
ifneq ($(STATIC_LINKING), 1)
|
|
SOURCES_C += $(LIBRETRO_COMM_DIR)/rthreads/rthreads.c \
|
|
$(LIBRETRO_COMM_DIR)/rthreads/retro_eventcount.c \
|
|
$(LIBRETRO_COMM_DIR)/queues/retro_spsc.c
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_TEXUPSCALE), 1)
|
|
SOURCES_CXX += $(DEPS_DIR)/xbrz/xbrz.cpp
|
|
endif
|
|
|
|
ifeq ($(HAVE_CHD), 1)
|
|
SOURCES_C += $(CHD_SOURCES_C)
|
|
endif
|
|
|
|
SOURCES_C += $(ARCHIVE_SOURCES_C)
|
|
|