LIBRETRO_COMM_DIR := $(CORE_DIR)/drivers/libretro/libretro-common

INCFLAGS := \
	-I$(CORE_DIR)/drivers/libretro \
	-I$(LIBRETRO_COMM_DIR)/include \
	-I$(CORE_DIR) \
	-I$(CORE_DIR)/input \
	-I$(CORE_DIR)/boards

ifneq (,$(findstring msvc2003,$(platform)))
	INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc
endif

COREDEFINES = \
	-D__LIBRETRO__ \
	-DPATH_MAX=1024 \
	-DFCEU_VERSION_NUMERIC=9813

ifeq ($(WANT_32BPP),1)
	COREDEFINES += -DFRONTEND_SUPPORTS_RGB888
else
	COREDEFINES += -DFRONTEND_SUPPORTS_RGB565
endif

FCEU_SRC_DIRS := \
	$(CORE_DIR)/boards \
	$(CORE_DIR)/input

SOURCES_C := $(foreach dir,$(FCEU_SRC_DIRS),$(wildcard $(dir)/*.c))

ifeq ($(HAVE_NTSC),1)
	COREDEFINES += \
		-DHAVE_NTSC_FILTER \
		-I$(CORE_DIR)/ntsc
	SOURCES_C += $(CORE_DIR)/ntsc/nes_ntsc.c
endif

SOURCES_C += \
	$(CORE_DIR)/drivers/libretro/libretro.c \
	$(CORE_DIR)/drivers/libretro/libretro_dipswitch.c \
	$(CORE_DIR)/cart.c \
	$(CORE_DIR)/cheat.c \
	$(CORE_DIR)/crc32.c \
	$(CORE_DIR)/fceu-endian.c \
	$(CORE_DIR)/fceu-memory.c \
	$(CORE_DIR)/fceu.c \
	$(CORE_DIR)/fds.c \
	$(CORE_DIR)/fds_apu.c \
	$(CORE_DIR)/file.c \
	$(CORE_DIR)/filter.c \
	$(CORE_DIR)/general.c \
	$(CORE_DIR)/input.c \
	$(CORE_DIR)/md5.c \
	$(CORE_DIR)/nsf.c \
	$(CORE_DIR)/palette.c \
	$(CORE_DIR)/ppu.c \
	$(CORE_DIR)/sound.c \
	$(CORE_DIR)/state.c \
	$(CORE_DIR)/video.c \
	$(CORE_DIR)/vsuni.c \
	$(CORE_DIR)/ines.c \
	$(CORE_DIR)/unif.c \
	$(CORE_DIR)/x6502.c

ifneq ($(STATIC_LINKING), 1)
	SOURCES_C += \
		$(LIBRETRO_COMM_DIR)/compat/compat_posix_string.c \
		$(LIBRETRO_COMM_DIR)/compat/compat_snprintf.c \
		$(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c \
		$(LIBRETRO_COMM_DIR)/compat/compat_strl.c \
		$(LIBRETRO_COMM_DIR)/compat/fopen_utf8.c \
		$(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \
		$(LIBRETRO_COMM_DIR)/file/file_path.c \
		$(LIBRETRO_COMM_DIR)/file/file_path_io.c \
		$(LIBRETRO_COMM_DIR)/streams/file_stream.c \
		$(LIBRETRO_COMM_DIR)/streams/file_stream_transforms.c \
		$(LIBRETRO_COMM_DIR)/streams/memory_stream.c \
		$(LIBRETRO_COMM_DIR)/string/stdstring.c \
		$(LIBRETRO_COMM_DIR)/time/rtime.c \
		$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c
endif
