gpsp/Makefile.common
David Guillen Fandos 56dc6ecb70 Remove libco
This removes libco and all the usages of it (+pthreads).
Rewired all dynarecs and interpreter to return after every frame so that
libretro can process events. This required to make dynarec re-entrant.

Dynarecs were updated to check for new frame on every update (IRQ, cycle
exhaustion, I/O write, etc). The performance impact of doing so should
be minimal (and definitely outweight the libco gains). While at it,
fixed small issues to get a bit more perf: arm dynarec was not idling
correctly, mips was using stack when not needed, etc.

Tested on PSP (mips), OGA (armv7), Linux (x86 and interpreter). Not
tested on Android though.
2021-03-08 18:44:03 +01:00

49 lines
997 B
Text

INCFLAGS := -I$(CORE_DIR)/libretro -I$(CORE_DIR)/src
SOURCES_ASM :=
ifeq ($(HAVE_GRIFFIN), 1)
SOURCES_C := $(CORE_DIR)/gpsp_griffin.c
else
SOURCES_C := $(CORE_DIR)/main.c \
$(CORE_DIR)/cpu.c \
$(CORE_DIR)/gba_memory.c \
$(CORE_DIR)/video.c \
$(CORE_DIR)/input.c \
$(CORE_DIR)/sound.c \
$(CORE_DIR)/cheats.c \
$(CORE_DIR)/libretro.c \
$(CORE_DIR)/gba_cc_lut.c
ifeq ($(HAVE_DYNAREC), 1)
SOURCES_C += $(CORE_DIR)/cpu_threaded.c
endif
endif
ifeq ($(HAVE_DYNAREC), 1)
ifeq ($(CPU_ARCH), x86_32)
SOURCES_ASM += $(CORE_DIR)/x86/x86_stub.S
endif
ifeq ($(CPU_ARCH), arm)
SOURCES_ASM += $(CORE_DIR)/arm/arm_stub.S
endif
ifeq ($(CPU_ARCH), mips)
SOURCES_ASM += $(CORE_DIR)/psp/mips_stub.S
endif
endif
ifeq ($(CPU_ARCH), arm)
ifeq ($(CPU_ARCH_ARM_BLENDING_OPTS),1)
CFLAGS += -DARM_ARCH_BLENDING_OPTS
SOURCES_ASM += $(CORE_DIR)/arm/video_blend.S
endif
endif
ifeq ($(HAVE_MMAP_WIN32),1)
SOURCES_C += $(CORE_DIR)/memmap_win32.c
endif
INCFLAGS := -I$(CORE_DIR)