core, chd support

This commit is contained in:
kub 2021-03-08 23:02:55 +01:00
parent 37631374df
commit 4bb0b70ec8
9 changed files with 57 additions and 28 deletions

View file

@ -57,6 +57,7 @@ CFLAGS += -fno-common -fno-stack-protector -fno-guess-branch-probability -fno-ca
endif
# default settings
use_libchdr ?= 1
ifeq "$(ARCH)" "arm"
use_cyclone ?= 1
use_drz80 ?= 1
@ -236,8 +237,39 @@ OBJS += platform/common/mp3_minimp3.o
endif
endif
ifneq (,$(HAVE_LIBCHDR))
ifeq (1,$(use_libchdr))
# yuck, cmake looks like a nightmare to embed in a multi-platform make env :-/
# Moreover, static library linking isn't working.
# Reference all source files directly and hope for the best. Tested on linux,
# might not work on other platforms, and misses autodetected optimizations.
CFLAGS += -DUSE_LIBCHDR
# chdr
CHDR = pico/cd/libchdr
CHDR_OBJS += $(CHDR)/src/libchdr_chd.o $(CHDR)/src/libchdr_cdrom.o
CHDR_OBJS += $(CHDR)/src/libchdr_flac.o
CHDR_OBJS += $(CHDR)/src/libchdr_bitstream.o $(CHDR)/src/libchdr_huffman.o
# flac
FLAC = $(CHDR)/deps/flac-1.3.3
FLAC_OBJS += $(FLAC)/src/format.o $(FLAC)/src/lpc.o $(FLAC)/src/cpu.o
FLAC_OBJS += $(FLAC)/src/metadata_object.o $(FLAC)/src/metadata_iterators.o
FLAC_OBJS += $(FLAC)/src/bitmath.o $(FLAC)/src/bitreader.o $(FLAC)/src/md5.o
FLAC_OBJS += $(FLAC)/src/memory.o $(FLAC)/src/fixed.o $(FLAC)/src/crc.o
FLAC_OBJS += $(FLAC)/src/window.o $(FLAC)/src/stream_decoder.o
$(FLAC_OBJS): CFLAGS += -DPACKAGE_VERSION=\"1.3.3\" -DFLAC__HAS_OGG=0
$(FLAC_OBJS): CFLAGS += -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_STDLIB_H # ugh...
# lzma
LZMA = $(CHDR)/deps/lzma-19.00
LZMA_OBJS += $(LZMA)/src/CpuArch.o $(LZMA)/src/Alloc.o $(LZMA)/src/LzmaEnc.o
LZMA_OBJS += $(LZMA)/src/Sort.o $(LZMA)/src/LzmaDec.o $(LZMA)/src/LzFind.o
LZMA_OBJS += $(LZMA)/src/Delta.o
$(LZMA_OBJS): CFLAGS += -D_7ZIP_ST
OBJS += $(CHDR_OBJS) $(FLAC_OBJS) $(LZMA_OBJS)
CHDR_I = $(shell find $(CHDR) -name 'include')
CFLAGS += $(patsubst %, -I%, $(CHDR_I)) # tsk...
endif
ifeq "$(PLATFORM_ZLIB)" "1"