mirror of
https://github.com/libretro/smsplus-gx.git
synced 2024-11-23 00:59:48 +00:00
757af8de7b
being reapplied as intended thereafter. Fixed by no longer using option.sndrate and just using whatever is set from each port. (as intended) I'm surprised this did not crash earlier...
87 lines
2.8 KiB
Makefile
87 lines
2.8 KiB
Makefile
PRGNAME = sms_sdl
|
|
CC = /opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc
|
|
|
|
# Possible choices : rs97, k3s (PAP K3S), sdl, amini, fbdev
|
|
PORT = gcw0
|
|
# Possible choices : alsa, pulse (pulseaudio), oss, sdl12 (SDL 1.2 sound output), portaudio, libao
|
|
SOUND_OUTPUT = sdl12
|
|
# Possible choices : crabemu_sn76489 (less accurate, GPLv2), maxim_sn76489 (somewhat problematic license but good accuracy)
|
|
SOUND_ENGINE = maxim_sn76489
|
|
# Possible choices : z80 (accurate), eighty (EightyZ80's core, GPLv2)
|
|
Z80_CORE = z80
|
|
SCALE2X_UPSCALER = 1
|
|
PROFILE = APPLY
|
|
ZIP_SUPPORT = 1
|
|
HUGE_PAGES = 1
|
|
|
|
SRCDIR = ./source ./source/cpu_cores/$(Z80_CORE) ./source/sound ./source/unzip
|
|
SRCDIR += ./source/scalers ./source/ports/$(PORT) ./source/sound/$(SOUND_ENGINE) ./source/sound_output/$(SOUND_OUTPUT)
|
|
VPATH = $(SRCDIR)
|
|
SRC_C = $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.c))
|
|
SRC_CP = $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.cpp))
|
|
OBJ_C = $(notdir $(patsubst %.c, %.o, $(SRC_C)))
|
|
OBJ_CP = $(notdir $(patsubst %.cpp, %.o, $(SRC_CP)))
|
|
OBJS = $(OBJ_C) $(OBJ_CP)
|
|
|
|
CFLAGS = -Wall -Wextra -Ofast -fdata-sections -ffunction-sections -mframe-header-opt -mno-fp-exceptions -mno-check-zero-division -fsingle-precision-constant -fno-common -march=mips32r2 -mtune=mips32r2 -flto
|
|
CFLAGS += -mno-xgot -fsection-anchors -fno-builtin -mplt -fno-PIC -mno-shared -mno-memcpy
|
|
CFLAGS += -fno-math-errno -freorder-functions -std=gnu99
|
|
|
|
CFLAGS += -DNOBLANKING_LEFTCOLUM -DOPENDINGUX_GCD_16PIXELS_ISSUE
|
|
CFLAGS += -DLSB_FIRST -std=gnu99
|
|
CFLAGS += -Isource -Isource/cpu_cores/$(Z80_CORE) -Isource/scalers -Isource/ports/$(PORT) -I./source/sound -Isource/unzip -Isource/sdl -Isource/sound/$(SOUND_ENGINE) -Isource/sound_output
|
|
|
|
SRCDIR += ./source/text/fb
|
|
CFLAGS += -Isource/text/fb
|
|
|
|
ifeq ($(PROFILE), YES)
|
|
CFLAGS += -fprofile-generate=/usr/local/home
|
|
else ifeq ($(PROFILE), APPLY)
|
|
CFLAGS += -fprofile-use -fbranch-probabilities
|
|
endif
|
|
|
|
ifeq ($(SOUND_ENGINE), maxim_sn76489)
|
|
CFLAGS += -DMAXIM_PSG
|
|
endif
|
|
|
|
ifeq ($(ZIP_SUPPORT), 0)
|
|
CFLAGS += -DNOZIP_SUPPORT
|
|
endif
|
|
|
|
ifeq ($(SCALE2X_UPSCALER), 1)
|
|
CFLAGS += -DSCALE2X_UPSCALER
|
|
CFLAGS += -Isource/scale2x
|
|
SRCDIR += ./source/scale2x
|
|
endif
|
|
|
|
LDFLAGS = -nodefaultlibs -lc -lgcc -lSDL -lasound -lm -flto -Wl,--as-needed -Wl,--gc-sections -no-pie -s
|
|
ifeq ($(HUGE_PAGES), 1)
|
|
LDFLAGS += -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152 -lhugetlbfs
|
|
endif
|
|
|
|
ifeq ($(SOUND_OUTPUT), portaudio)
|
|
LDFLAGS += -lportaudio
|
|
endif
|
|
ifeq ($(SOUND_OUTPUT), libao)
|
|
LDFLAGS += -lao
|
|
endif
|
|
ifeq ($(SOUND_OUTPUT), alsa)
|
|
LDFLAGS += -lasound
|
|
endif
|
|
ifeq ($(SOUND_OUTPUT), pulse)
|
|
LDFLAGS += -lpulse -lpulse-simple
|
|
endif
|
|
|
|
# Rules to make executable
|
|
$(PRGNAME): $(OBJS)
|
|
$(CC) $(CFLAGS) -o $(PRGNAME) $^ $(LDFLAGS)
|
|
ifeq ($(HUGE_PAGES), 1)
|
|
hugeedit --text --data $(PRGNAME)
|
|
endif
|
|
|
|
$(OBJ_C) : %.o : %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(PRGNAME) *.o
|