mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-24 15:12:23 +01:00
byuu says: Changelog: - converted Emulator::Interface::Bind to Emulator::Platform - temporarily disabled SGB hooks - SMS: emulated Game Gear palette (latching word-write behavior not implemented yet) - SMS: emulated Master System 'Reset' button, Game Gear 'Start' button - SMS: removed reset() functionality, driven by the mappable input now instead - SMS: split interface class in two: one for Master System, one for Game Gear - SMS: emulated Game Gear video cropping to 160x144 - PCE: started on HuC6280 CPU core—so far only registers, NOP instruction has been implemented Errata: - Super Game Boy support is broken and thus disabled - if you switch between Master System and Game Gear without restarting, bad things happen: - SMS→GG, no video output on the GG - GG→SMS, no input on the SMS I'm not sure what's causing the SMS\<-\>GG switch bug, having a hard time debugging it. Help would be very much appreciated, if anyone's up for it. Otherwise I'll keep trying to track it down on my end.
67 lines
1.5 KiB
Makefile
67 lines
1.5 KiB
Makefile
include ../nall/GNUmakefile
|
|
|
|
target := tomoko
|
|
# console := true
|
|
|
|
flags += -I. -I.. -O3
|
|
objects := libco emulator audio video resource
|
|
|
|
# profile-guided optimization mode
|
|
# pgo := instrument
|
|
# pgo := optimize
|
|
|
|
ifeq ($(pgo),instrument)
|
|
flags += -fprofile-generate
|
|
link += -lgcov
|
|
else ifeq ($(pgo),optimize)
|
|
flags += -fprofile-use
|
|
endif
|
|
|
|
# platform
|
|
ifeq ($(platform),windows)
|
|
ifeq ($(console),true)
|
|
link += -mconsole
|
|
else
|
|
link += -mwindows
|
|
endif
|
|
link += -mthreads -lpthread -luuid -lkernel32 -luser32 -lgdi32 -lcomctl32 -lcomdlg32 -lshell32
|
|
link += -Wl,-enable-auto-import
|
|
link += -Wl,-enable-runtime-pseudo-reloc
|
|
else ifeq ($(platform),macosx)
|
|
flags += -march=native
|
|
else ifneq ($(filter $(platform),linux bsd),)
|
|
flags += -march=native -fopenmp
|
|
link += -fopenmp
|
|
link += -Wl,-export-dynamic
|
|
link += -lX11 -lXext
|
|
else
|
|
$(error "unsupported platform")
|
|
endif
|
|
|
|
compile = \
|
|
$(strip \
|
|
$(if $(filter %.c,$<), \
|
|
$(compiler) $(cflags) $(flags) $1 -c $< -o $@, \
|
|
$(if $(filter %.cpp,$<), \
|
|
$(compiler) $(cppflags) $(flags) $1 -c $< -o $@ \
|
|
) \
|
|
) \
|
|
)
|
|
|
|
%.o: $<; $(call compile)
|
|
|
|
all: build;
|
|
|
|
obj/libco.o: ../libco/libco.c $(call rwildcard,../libco)
|
|
obj/emulator.o: emulator/emulator.cpp $(call rwildcard,emulator)
|
|
obj/audio.o: audio/audio.cpp $(call rwildcard,audio)
|
|
obj/video.o: video/video.cpp $(call rwildcard,video)
|
|
obj/resource.o: resource/resource.cpp $(call rwildcard,resource)
|
|
|
|
ui := target-$(target)
|
|
include $(ui)/GNUmakefile
|
|
|
|
clean:
|
|
-@$(call delete,out/*)
|
|
-@$(call delete,obj/*)
|