mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-12-26 03:01:50 +01:00
25a90c634d
* Fix SDL2 build on MacOS * Fixing compilation error
236 lines
7.2 KiB
Makefile
236 lines
7.2 KiB
Makefile
|
|
# Makefile for genplus SDL2
|
|
#
|
|
# (c) 1999, 2000, 2001, 2002, 2003 Charles MacDonald
|
|
# modified by Eke-Eke <eke_eke31@yahoo.fr>
|
|
#
|
|
# Defines :
|
|
# -DLSB_FIRST : for little endian systems.
|
|
# -DLOGERROR : enable message logging
|
|
# -DLOGVDP : enable VDP debug messages
|
|
# -DLOGSOUND : enable AUDIO debug messages
|
|
# -DLOG_SCD : enable SCD debug messages
|
|
# -DLOG_CDD : enable CDD debug messages
|
|
# -DLOG_CDC : enable CDC debug messages
|
|
# -DLOG_PCM : enable PCM debug messages
|
|
# -DLOGSOUND : enable AUDIO debug messages
|
|
# -D8BPP_RENDERING - configure for 8-bit pixels (RGB332)
|
|
# -D15BPP_RENDERING - configure for 15-bit pixels (RGB555)
|
|
# -D16BPP_RENDERING - configure for 16-bit pixels (RGB565)
|
|
# -D32BPP_RENDERING - configure for 32-bit pixels (RGB888)
|
|
# -DUSE_LIBCHDR : enable CHD file support
|
|
# -DUSE_LIBTREMOR : enable OGG file support for CD emulation using provided TREMOR library
|
|
# -DUSE_LIBVORBIS : enable OGG file support for CD emulation using external VORBIS library
|
|
# -DISABLE_MANY_OGG_OPEN_FILES : only have one OGG file opened at once to save RAM
|
|
# -DMAXROMSIZE : defines maximal size of ROM buffer (also shared with CD hardware)
|
|
# -DHAVE_YM3438_CORE : enable (configurable) support for Nuked cycle-accurate YM2612/YM3438 core
|
|
# -DHAVE_OPLL_CORE : enable (configurable) support for Nuked cycle-accurate YM2413 core
|
|
# -DHOOK_CPU : enable CPU hooks
|
|
# -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS : enable address error exceptions emulation for SUB-CPU
|
|
|
|
NAME = gen_sdl2
|
|
|
|
CC = gcc
|
|
CFLAGS = `sdl2-config --cflags` -march=native -O6 -fomit-frame-pointer -Wall -Wno-strict-aliasing -std=c99 -pedantic-errors
|
|
#-g -ggdb -pg
|
|
#-fomit-frame-pointer
|
|
#LDFLAGS = -pg
|
|
DEFINES = -DLSB_FIRST -DUSE_16BPP_RENDERING -DUSE_LIBTREMOR -DUSE_LIBCHDR -DMAXROMSIZE=33554432 -DHAVE_YM3438_CORE -DHAVE_OPLL_CORE -DENABLE_SUB_68K_ADDRESS_ERROR_EXCEPTIONS
|
|
|
|
ifneq ($(OS),Windows_NT)
|
|
DEFINES += -DHAVE_ALLOCA_H
|
|
endif
|
|
|
|
ifneq ($(findstring Darwin,$(shell uname -a)),)
|
|
platform = osx
|
|
endif
|
|
|
|
ifeq ($(platform), osx)
|
|
CFLAGS += -Winvalid-utf8 -Wstrict-prototypes
|
|
endif
|
|
|
|
SRCDIR = ../core
|
|
INCLUDES = -I$(SRCDIR) -I$(SRCDIR)/z80 -I$(SRCDIR)/m68k -I$(SRCDIR)/sound -I$(SRCDIR)/input_hw -I$(SRCDIR)/cart_hw -I$(SRCDIR)/cart_hw/svp -I$(SRCDIR)/cd_hw -I$(SRCDIR)/ntsc -I$(SRCDIR)/tremor -I$(SRCDIR)/../sdl -I$(SRCDIR)/../sdl/sdl2
|
|
LIBS = `sdl2-config --libs` -lz -lm
|
|
|
|
CHDLIBDIR = $(SRCDIR)/cd_hw/libchdr
|
|
|
|
OBJDIR = ./build_sdl2
|
|
|
|
OBJECTS = $(OBJDIR)/z80.o
|
|
|
|
OBJECTS += $(OBJDIR)/m68kcpu.o \
|
|
$(OBJDIR)/s68kcpu.o
|
|
|
|
OBJECTS += $(OBJDIR)/genesis.o \
|
|
$(OBJDIR)/vdp_ctrl.o \
|
|
$(OBJDIR)/vdp_render.o \
|
|
$(OBJDIR)/system.o \
|
|
$(OBJDIR)/io_ctrl.o \
|
|
$(OBJDIR)/mem68k.o \
|
|
$(OBJDIR)/memz80.o \
|
|
$(OBJDIR)/membnk.o \
|
|
$(OBJDIR)/state.o \
|
|
$(OBJDIR)/loadrom.o
|
|
|
|
OBJECTS += $(OBJDIR)/input.o \
|
|
$(OBJDIR)/gamepad.o \
|
|
$(OBJDIR)/lightgun.o \
|
|
$(OBJDIR)/mouse.o \
|
|
$(OBJDIR)/activator.o \
|
|
$(OBJDIR)/xe_1ap.o \
|
|
$(OBJDIR)/teamplayer.o \
|
|
$(OBJDIR)/paddle.o \
|
|
$(OBJDIR)/sportspad.o \
|
|
$(OBJDIR)/terebi_oekaki.o \
|
|
$(OBJDIR)/graphic_board.o
|
|
|
|
OBJECTS += $(OBJDIR)/sound.o \
|
|
$(OBJDIR)/psg.o \
|
|
$(OBJDIR)/ym2413.o \
|
|
$(OBJDIR)/opll.o \
|
|
$(OBJDIR)/ym3438.o \
|
|
$(OBJDIR)/ym2612.o
|
|
|
|
OBJECTS += $(OBJDIR)/blip_buf.o
|
|
|
|
OBJECTS += $(OBJDIR)/eq.o
|
|
|
|
OBJECTS += $(OBJDIR)/sram.o \
|
|
$(OBJDIR)/svp.o \
|
|
$(OBJDIR)/ssp16.o \
|
|
$(OBJDIR)/ggenie.o \
|
|
$(OBJDIR)/areplay.o \
|
|
$(OBJDIR)/eeprom_93c.o \
|
|
$(OBJDIR)/eeprom_i2c.o \
|
|
$(OBJDIR)/eeprom_spi.o \
|
|
$(OBJDIR)/md_cart.o \
|
|
$(OBJDIR)/sms_cart.o \
|
|
$(OBJDIR)/megasd.o
|
|
|
|
OBJECTS += $(OBJDIR)/scd.o \
|
|
$(OBJDIR)/cdd.o \
|
|
$(OBJDIR)/cdc.o \
|
|
$(OBJDIR)/gfx.o \
|
|
$(OBJDIR)/pcm.o \
|
|
$(OBJDIR)/cd_cart.o
|
|
|
|
OBJECTS += $(OBJDIR)/sms_ntsc.o \
|
|
$(OBJDIR)/md_ntsc.o
|
|
|
|
OBJECTS += $(OBJDIR)/main.o \
|
|
$(OBJDIR)/config.o \
|
|
$(OBJDIR)/error.o \
|
|
$(OBJDIR)/unzip.o \
|
|
$(OBJDIR)/fileio.o
|
|
|
|
OBJECTS += $(OBJDIR)/bitwise.o \
|
|
$(OBJDIR)/block.o \
|
|
$(OBJDIR)/codebook.o \
|
|
$(OBJDIR)/floor0.o \
|
|
$(OBJDIR)/floor1.o \
|
|
$(OBJDIR)/framing.o \
|
|
$(OBJDIR)/info.o \
|
|
$(OBJDIR)/mapping0.o \
|
|
$(OBJDIR)/mdct.o \
|
|
$(OBJDIR)/registry.o \
|
|
$(OBJDIR)/res012.o \
|
|
$(OBJDIR)/sharedbook.o \
|
|
$(OBJDIR)/synthesis.o \
|
|
$(OBJDIR)/vorbisfile.o \
|
|
$(OBJDIR)/window.o
|
|
|
|
OBJECTS += $(OBJDIR)/bitstream.o \
|
|
$(OBJDIR)/chd.o \
|
|
$(OBJDIR)/flac.o \
|
|
$(OBJDIR)/huffman.o \
|
|
$(OBJDIR)/bitmath.o \
|
|
$(OBJDIR)/bitreader.o \
|
|
$(OBJDIR)/cpu.o \
|
|
$(OBJDIR)/crc.o \
|
|
$(OBJDIR)/fixed.o \
|
|
$(OBJDIR)/float.o \
|
|
$(OBJDIR)/format.o \
|
|
$(OBJDIR)/lpc.o \
|
|
$(OBJDIR)/md5.o \
|
|
$(OBJDIR)/memory.o \
|
|
$(OBJDIR)/stream_decoder.o \
|
|
$(OBJDIR)/LzFind.o \
|
|
$(OBJDIR)/LzmaDec.o \
|
|
$(OBJDIR)/LzmaEnc.o \
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
OBJECTS += $(OBJDIR)/icon.o
|
|
endif
|
|
|
|
all: $(NAME)
|
|
|
|
$(NAME): $(OBJDIR) $(OBJECTS)
|
|
$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
|
|
|
|
$(OBJDIR) :
|
|
@[ -d $@ ] || mkdir -p $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/%.c $(SRCDIR)/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/sound/%.c $(SRCDIR)/sound/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/input_hw/%.c $(SRCDIR)/input_hw/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/cart_hw/%.c $(SRCDIR)/cart_hw/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/cart_hw/svp/%.c
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/cart_hw/svp/%.c $(SRCDIR)/cart_hw/svp/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/cd_hw/%.c $(SRCDIR)/cd_hw/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/z80/%.c $(SRCDIR)/z80/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/m68k/%.c
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/ntsc/%.c $(SRCDIR)/ntsc/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/tremor/%.c $(SRCDIR)/tremor/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/tremor/%.c
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(CHDLIBDIR)/src/%.c
|
|
$(CC) -c $(FLAGS) $(INCLUDES) -I$(CHDLIBDIR)/src -I$(CHDLIBDIR)/deps/libFLAC/include -I$(CHDLIBDIR)/deps/lzma -I$(CHDLIBDIR)/deps/zlib $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(CHDLIBDIR)/deps/libFLAC/%.c
|
|
$(CC) -c $(FLAGS) -I$(CHDLIBDIR)/deps/libFLAC/include -DPACKAGE_VERSION=\"1.3.2\" -DFLAC_API_EXPORTS -DFLAC__HAS_OGG=0 -DHAVE_LROUND -DHAVE_STDINT_H -DHAVE_SYS_PARAM_H $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(CHDLIBDIR)/deps/lzma/%.c
|
|
$(CC) -c $(FLAGS) -I$(CHDLIBDIR)/deps/lzma -D_7ZIP_ST $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/../sdl/%.c $(SRCDIR)/../sdl/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
$(OBJDIR)/%.o : $(SRCDIR)/../sdl/sdl2/%.c $(SRCDIR)/../sdl/sdl2/%.h
|
|
$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
$(OBJDIR)/icon.o :
|
|
windres $(SRCDIR)/../sdl/icon.rc $@
|
|
endif
|
|
|
|
pack :
|
|
strip $(NAME)
|
|
upx -9 $(NAME)
|
|
|
|
clean:
|
|
rm -f $(OBJECTS) $(NAME)
|