+# libchdr
+LCHDR = $(DEPS_DIR)/libchdr
+LCHDR_LZMA = $(LCHDR)/deps/lzma-22.01
+LCHDR_ZSTD = $(LCHDR)/deps/zstd-1.5.5/lib
+SOURCES_C += \
+ $(LCHDR)/src/libchdr_bitstream.c \
+ $(LCHDR)/src/libchdr_cdrom.c \
+ $(LCHDR)/src/libchdr_chd.c \
+ $(LCHDR)/src/libchdr_flac.c \
+ $(LCHDR)/src/libchdr_huffman.c \
+ $(LCHDR_LZMA)/src/Alloc.c \
+ $(LCHDR_LZMA)/src/Bra86.c \
+ $(LCHDR_LZMA)/src/BraIA64.c \
+ $(LCHDR_LZMA)/src/CpuArch.c \
+ $(LCHDR_LZMA)/src/Delta.c \
+ $(LCHDR_LZMA)/src/LzFind.c \
+ $(LCHDR_LZMA)/src/Lzma86Dec.c \
+ $(LCHDR_LZMA)/src/LzmaDec.c \
+ $(LCHDR_LZMA)/src/LzmaEnc.c \
+ $(LCHDR_LZMA)/src/Sort.c \
+ $(LCHDR_ZSTD)/common/debug.c \
+ $(LCHDR_ZSTD)/common/entropy_common.c \
+ $(LCHDR_ZSTD)/common/error_private.c \
+ $(LCHDR_ZSTD)/common/fse_decompress.c \
+ $(LCHDR_ZSTD)/common/pool.c \
+ $(LCHDR_ZSTD)/common/threading.c \
+ $(LCHDR_ZSTD)/common/xxhash.c \
+ $(LCHDR_ZSTD)/common/zstd_common.c \
+ $(LCHDR_ZSTD)/decompress/huf_decompress.c \
+ $(LCHDR_ZSTD)/decompress/zstd_ddict.c \
+ $(LCHDR_ZSTD)/decompress/zstd_decompress_block.c \
+ $(LCHDR_ZSTD)/decompress/zstd_decompress.c
+SOURCES_ASM :=
+EXTRA_INCLUDES += $(LCHDR)/include $(LCHDR_LZMA)/include $(LCHDR_ZSTD)
+COREFLAGS += -DHAVE_CHD -D_7ZIP_ST -DZSTD_DISABLE_ASM
+
+COREFLAGS += -ffast-math -funroll-loops -DHAVE_LIBRETRO -DNO_FRONTEND -DFRONTEND_SUPPORTS_RGB565 -DANDROID -DREARMED
+COREFLAGS += -DP_HAVE_MMAP=1 -DP_HAVE_PTHREAD=1 -DP_HAVE_POSIX_MEMALIGN=1
+
+ifeq ($(USE_LIBRETRO_VFS),1)
+SOURCES_C += \
+ $(LIBRETRO_COMMON)/compat/compat_posix_string.c \
+ $(LIBRETRO_COMMON)/compat/fopen_utf8.c \
+ $(LIBRETRO_COMMON)/encodings/compat_strl.c \
+ $(LIBRETRO_COMMON)/encodings/encoding_utf.c \
+ $(LIBRETRO_COMMON)/file/file_path.c \
+ $(LIBRETRO_COMMON)/streams/file_stream.c \
+ $(LIBRETRO_COMMON)/streams/file_stream_transforms.c \
+ $(LIBRETRO_COMMON)/string/stdstring.c \
+ $(LIBRETRO_COMMON)/time/rtime.c \
+ $(LIBRETRO_COMMON)/vfs/vfs_implementation.c
+COREFLAGS += -DUSE_LIBRETRO_VFS
+endif
+EXTRA_INCLUDES += $(LIBRETRO_COMMON)/include