mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-23 22:52:34 +01:00
byuu says: Changelog: - added higan/emulator/platform.hpp (moved out Emulator::Platform from emulator/interface.hpp) - moved gmake build paramter to nall/GNUmakefile; both higan and icarus use it now - added build=profile mode - MD: added the region select I/O register - MD: started to add region selection support internally (still no external select or PAL support) - PCE: added cycle stealing when reading/writing to the VDC or VCE; and when using ST# instructions - PCE: cleaned up PSG to match the behavior of Mednafen (doesn't improve sound at all ;_;) - note: need to remove loadWaveSample, loadWavePeriod - HuC6280: ADC/SBC decimal mode consumes an extra cycle; does not set V flag - HuC6280: block transfer instructions were taking one cycle too many - icarus: added code to strip out PC Engine ROM headers - hiro: added options support to BrowserDialog The last one sure ended in failure. The plan was to put a region dropdown directly onto hiro::BrowserDialog, and I had all the code for it working. But I forgot one important detail: the system loads cartridges AFTER powering on, so even though I could technically change the system region post-boot, I'd rather not do so. So that means we have to know what region we want before we even select a game. Shit.
57 lines
1.6 KiB
Makefile
57 lines
1.6 KiB
Makefile
build := release
|
|
include ../nall/GNUmakefile
|
|
include ../hiro/GNUmakefile
|
|
|
|
name := icarus
|
|
flags += -I..
|
|
link +=
|
|
|
|
ifeq ($(platform),windows)
|
|
link += -mwindows
|
|
endif
|
|
|
|
objects := obj/hiro.o
|
|
objects += obj/icarus.o
|
|
objects += $(if $(call streq,$(platform),windows),obj/resource.o)
|
|
|
|
all: $(objects)
|
|
$(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink))
|
|
ifeq ($(platform),macosx)
|
|
@if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
|
|
mkdir -p out/$(name).app/Contents/MacOS/
|
|
mv out/$(name) out/$(name).app/Contents/MacOS/
|
|
cp $(name).plist out/$(name).app/Contents/Info.plist
|
|
endif
|
|
|
|
obj/hiro.o: ../hiro/hiro.cpp
|
|
$(compiler) $(hiroflags) -o obj/hiro.o -c ../hiro/hiro.cpp
|
|
|
|
obj/icarus.o: icarus.cpp $(call rwildcard,core/) $(call rwildcard,heuristics/) $(call rwildcard,ui/)
|
|
$(compiler) $(cppflags) $(flags) -o obj/icarus.o -c icarus.cpp
|
|
|
|
obj/resource.o:
|
|
$(windres) ../hiro/windows/hiro.rc obj/resource.o
|
|
|
|
clean:
|
|
ifeq ($(platform),macosx)
|
|
@if [ -d out/$(name).app ]; then rm out/$(name).app; fi
|
|
endif
|
|
$(call delete,obj/*)
|
|
$(call delete,out/*)
|
|
|
|
install:
|
|
ifeq ($(platform),macosx)
|
|
cp -R out/$(name).app /Applications/$(name).app
|
|
else ifneq ($(filter $(platform),linux bsd),)
|
|
mkdir -p $(prefix)/share/$(name)/Database/
|
|
if [ -f out/$(name) ]; then cp out/$(name) $(prefix)/bin/$(name); fi
|
|
cp -R Database/ $(prefix)/share/$(name)/Database/
|
|
endif
|
|
|
|
uninstall:
|
|
ifeq ($(platform),macosx)
|
|
if [ -d /Applications/$(name).app ]; then rm -r /Applications/$(name).app; fi
|
|
else ifneq ($(filter $(platform),linux bsd),)
|
|
if [ -f $(prefix)/bin/$(name) ]; then rm $(prefix)/bin/$(name); fi
|
|
endif
|