DEPS_DIR = $(ROOT_DIR)/deps LIBRETRO_DIR = $(ROOT_DIR)/libretro LIBRETRO_COMM_DIR = $(ROOT_DIR)/libretro/libretro-common INCFLAGS = -I$(ROOT_DIR) -I$(CORE_DIR) -I$(DEPS_DIR)/libmad -I$(LIBRETRO_COMM_DIR)/include ifneq (,$(findstring msvc2003,$(platform))) INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc endif COREDEFINES = -D__LIBRETRO__ -DFPM_DEFAULT ifneq (,$(findstring msvc,$(platform))) COREDEFINES += -DINLINE="_inline" else COREDEFINES += -DINLINE="inline" endif SOURCES_C := $(LIBRETRO_DIR)/libretro.c \ $(LIBRETRO_DIR)/libretro_sound.c \ $(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c \ $(LIBRETRO_COMM_DIR)/encodings/encoding_utf.c \ $(LIBRETRO_COMM_DIR)/compat/compat_snprintf.c \ $(LIBRETRO_COMM_DIR)/compat/compat_strl.c \ $(LIBRETRO_COMM_DIR)/compat/compat_posix_string.c \ $(LIBRETRO_COMM_DIR)/compat/fopen_utf8.c \ $(LIBRETRO_COMM_DIR)/streams/file_stream.c \ $(LIBRETRO_COMM_DIR)/streams/file_stream_transforms.c \ $(LIBRETRO_COMM_DIR)/string/stdstring.c \ $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \ $(LIBRETRO_COMM_DIR)/file/file_path.c \ $(LIBRETRO_COMM_DIR)/file/file_path_io.c \ $(LIBRETRO_COMM_DIR)/time/rtime.c SOURCES_C += $(DEPS_DIR)/libmad/bit.c \ $(DEPS_DIR)/libmad/decoder.c \ $(DEPS_DIR)/libmad/fixed.c \ $(DEPS_DIR)/libmad/frame.c \ $(DEPS_DIR)/libmad/huffman.c \ $(DEPS_DIR)/libmad/layer3.c \ $(DEPS_DIR)/libmad/layer12.c \ $(DEPS_DIR)/libmad/stream.c \ $(DEPS_DIR)/libmad/synth.c \ $(DEPS_DIR)/libmad/timer.c SOURCES_C += $(CORE_DIR)/am_map.c \ $(CORE_DIR)/d_deh.c \ $(CORE_DIR)/d_items.c \ $(CORE_DIR)/d_main.c \ $(CORE_DIR)/doomstat.c \ $(CORE_DIR)/dstrings.c \ $(CORE_DIR)/f_finale.c \ $(CORE_DIR)/f_wipe.c \ $(CORE_DIR)/g_game.c \ $(CORE_DIR)/hu_lib.c \ $(CORE_DIR)/hu_stuff.c \ $(CORE_DIR)/info.c \ $(CORE_DIR)/m_argv.c \ $(CORE_DIR)/m_bbox.c \ $(CORE_DIR)/m_cheat.c \ $(CORE_DIR)/m_menu.c \ $(CORE_DIR)/m_misc.c \ $(CORE_DIR)/m_random.c \ $(CORE_DIR)/p_ceilng.c \ $(CORE_DIR)/p_doors.c \ $(CORE_DIR)/p_enemy.c \ $(CORE_DIR)/p_floor.c \ $(CORE_DIR)/p_inter.c \ $(CORE_DIR)/p_lights.c \ $(CORE_DIR)/p_map.c \ $(CORE_DIR)/p_maputl.c \ $(CORE_DIR)/p_mobj.c \ $(CORE_DIR)/p_plats.c \ $(CORE_DIR)/p_pspr.c \ $(CORE_DIR)/p_saveg.c \ $(CORE_DIR)/p_setup.c \ $(CORE_DIR)/p_sight.c \ $(CORE_DIR)/p_spec.c \ $(CORE_DIR)/p_switch.c \ $(CORE_DIR)/p_telept.c \ $(CORE_DIR)/p_tick.c \ $(CORE_DIR)/p_user.c \ $(CORE_DIR)/r_bsp.c \ $(CORE_DIR)/r_data.c \ $(CORE_DIR)/r_draw.c \ $(CORE_DIR)/r_main.c \ $(CORE_DIR)/r_plane.c \ $(CORE_DIR)/r_segs.c \ $(CORE_DIR)/r_sky.c \ $(CORE_DIR)/r_things.c \ $(CORE_DIR)/r_patch.c \ $(CORE_DIR)/s_sound.c \ $(CORE_DIR)/sounds.c \ $(CORE_DIR)/st_lib.c \ $(CORE_DIR)/st_stuff.c \ $(CORE_DIR)/tables.c \ $(CORE_DIR)/v_video.c \ $(CORE_DIR)/w_wad.c \ $(CORE_DIR)/z_zone.c \ $(CORE_DIR)/w_memcache.c \ $(CORE_DIR)/r_fps.c \ $(CORE_DIR)/r_filter.c \ $(CORE_DIR)/p_genlin.c \ $(CORE_DIR)/r_demo.c \ $(CORE_DIR)/z_bmalloc.c \ $(CORE_DIR)/lprintf.c \ $(CORE_DIR)/wi_stuff.c \ $(CORE_DIR)/md5.c \ $(CORE_DIR)/d_client.c \ $(CORE_DIR)/memio.c \ $(CORE_DIR)/mus2mid.c \ $(CORE_DIR)/dbopl.c \ $(CORE_DIR)/opl.c \ $(CORE_DIR)/opl_queue.c \ $(CORE_DIR)/oplplayer.c \ $(CORE_DIR)/flplayer.c \ $(CORE_DIR)/midifile.c \ $(CORE_DIR)/madplayer.c \ $(CORE_DIR)/u_scanner.c \ $(CORE_DIR)/u_mapinfo.c \ $(CORE_DIR)/u_musinfo.c \ ifeq ($(WANT_FLUIDSYNTH), 1) FLUIDSYNTH_DIR := $(DEPS_DIR)/fluidlite LIBVORBIS_DIR := $(FLUIDSYNTH_DIR)/libvorbis-1.3.5 LIBOGG_DIR := $(FLUIDSYNTH_DIR)/libogg-1.3.2 INCFLAGS += -I$(FLUIDSYNTH_DIR)/include \ -I$(LIBVORBIS_DIR)/include \ -I$(LIBOGG_DIR)/include SOURCES_C += $(FLUIDSYNTH_DIR)/src/fluid_chan.c \ $(FLUIDSYNTH_DIR)/src/fluid_chorus.c \ $(FLUIDSYNTH_DIR)/src/fluid_conv.c \ $(FLUIDSYNTH_DIR)/src/fluid_defsfont.c \ $(FLUIDSYNTH_DIR)/src/fluid_dsp_float.c \ $(FLUIDSYNTH_DIR)/src/fluid_gen.c \ $(FLUIDSYNTH_DIR)/src/fluid_hash.c \ $(FLUIDSYNTH_DIR)/src/fluid_list.c \ $(FLUIDSYNTH_DIR)/src/fluid_mod.c \ $(FLUIDSYNTH_DIR)/src/fluid_ramsfont.c \ $(FLUIDSYNTH_DIR)/src/fluid_rev.c \ $(FLUIDSYNTH_DIR)/src/fluid_settings.c \ $(FLUIDSYNTH_DIR)/src/fluid_synth.c \ $(FLUIDSYNTH_DIR)/src/fluid_sys.c \ $(FLUIDSYNTH_DIR)/src/fluid_tuning.c \ $(FLUIDSYNTH_DIR)/src/fluid_voice.c SOURCES_C += $(LIBVORBIS_DIR)/lib/analysis.c \ $(LIBVORBIS_DIR)/lib/bitrate.c \ $(LIBVORBIS_DIR)/lib/block.c \ $(LIBVORBIS_DIR)/lib/codebook.c \ $(LIBVORBIS_DIR)/lib/envelope.c \ $(LIBVORBIS_DIR)/lib/floor0.c \ $(LIBVORBIS_DIR)/lib/floor1.c \ $(LIBVORBIS_DIR)/lib/info.c \ $(LIBVORBIS_DIR)/lib/lookup.c \ $(LIBVORBIS_DIR)/lib/lpc.c \ $(LIBVORBIS_DIR)/lib/lsp.c \ $(LIBVORBIS_DIR)/lib/mapping0.c \ $(LIBVORBIS_DIR)/lib/mdct.c \ $(LIBVORBIS_DIR)/lib/psy.c \ $(LIBVORBIS_DIR)/lib/registry.c \ $(LIBVORBIS_DIR)/lib/res0.c \ $(LIBVORBIS_DIR)/lib/sharedbook.c \ $(LIBVORBIS_DIR)/lib/smallft.c \ $(LIBVORBIS_DIR)/lib/synthesis.c \ $(LIBVORBIS_DIR)/lib/vorbisfile.c \ $(LIBVORBIS_DIR)/lib/window.c SOURCES_C += $(LIBOGG_DIR)/src/bitwise.c \ $(LIBOGG_DIR)/src/framing.c endif # The custom memory allocation system should be used consistently across the core # See https://doom.fandom.com/wiki/Zone_memory ifneq (,$(findstring msvc,$(platform))) else INCFLAGS += -include z_zone.h endif