mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-23 14:42:33 +01:00
byuu says: Windows port should run mostly well now, although exiting fullscreen breaks the application in a really bizarre way. (clicking on the window makes it sink to background rather than come to the foreground o_O) I also need to add the doModalChange => audio.clear() thing for the accursed menu stuttering with DirectSound. I also finished porting all of the ruby drivers over to the newer API changes from nall. Since I can't compile the Linux or OS X drivers, I have no idea if there are any typos that will result in compilation errors. If so, please let me know where they're at and I'll try and fix them. If they're simple, please try and fix them on your end to test further if you can. I'm hopeful the udev crash will be gone now that nall::string checks for null char* values passed to its stringify function. Of course, it's a problem it's getting a null value in the first place, so it may not work at all. If you can compile on Linux (or by some miracle, OS X), please test each video/audio/input driver if you don't mind, to make sure there's no "compiles okay but still typos exist" bugs.
94 lines
2.8 KiB
Makefile
94 lines
2.8 KiB
Makefile
name := tomoko
|
|
|
|
processors := arm gsu hg51b lr35902 r6502 r65816 spc700 upd96050
|
|
include processor/GNUmakefile
|
|
|
|
include fc/GNUmakefile
|
|
include sfc/GNUmakefile
|
|
include gb/GNUmakefile
|
|
include gba/GNUmakefile
|
|
|
|
ui_objects := ui-tomoko ui-program ui-configuration ui-input
|
|
ui_objects += ui-settings ui-tools ui-presentation
|
|
ui_objects += ruby hiro
|
|
ui_objects += $(if $(call streq,$(platform),windows),ui-resource)
|
|
|
|
# platform
|
|
ifeq ($(platform),windows)
|
|
ruby += video.direct3d video.wgl video.directdraw video.gdi
|
|
ruby += audio.xaudio2 audio.directsound
|
|
ruby += input.windows
|
|
else ifeq ($(platform),macosx)
|
|
ruby += video.cgl
|
|
ruby += audio.openal
|
|
ruby += input.carbon
|
|
else ifeq ($(platform),linux)
|
|
ruby += video.glx video.xv video.xshm video.sdl
|
|
ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
|
|
ruby += input.udev input.sdl input.xlib
|
|
else ifeq ($(platform),bsd)
|
|
ruby += video.glx video.xv video.xshm video.sdl
|
|
ruby += audio.openal audio.oss
|
|
ruby += input.sdl input.xlib
|
|
endif
|
|
|
|
# ruby
|
|
include ruby/GNUmakefile
|
|
link += $(rubylink)
|
|
|
|
# hiro
|
|
include hiro/GNUmakefile
|
|
link += $(hirolink)
|
|
|
|
# rules
|
|
objects := $(ui_objects) $(objects)
|
|
objects := $(patsubst %,obj/%.o,$(objects))
|
|
|
|
obj/ruby.o: ruby/ruby.cpp $(call rwildcard,ruby/)
|
|
$(compiler) $(rubyflags) -c $< -o $@
|
|
|
|
obj/hiro.o: hiro/hiro.cpp $(call rwildcard,hiro/)
|
|
$(compiler) $(hiroflags) -c $< -o $@
|
|
|
|
obj/ui-tomoko.o: $(ui)/tomoko.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-program.o: $(ui)/program/program.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-configuration.o: $(ui)/configuration/configuration.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-input.o: $(ui)/input/input.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-library.o: $(ui)/library/library.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-settings.o: $(ui)/settings/settings.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-tools.o: $(ui)/tools/tools.cpp $(call rwildcard,$(ui)/)
|
|
obj/ui-presentation.o: $(ui)/presentation/presentation.cpp $(call rwildcard,$(ui)/)
|
|
|
|
obj/ui-resource.o:
|
|
windres data/resource.rc obj/ui-resource.o
|
|
|
|
# targets
|
|
build: $(objects)
|
|
$(strip $(compiler) -o out/$(name) $(objects) $(link))
|
|
|
|
install:
|
|
ifeq ($(shell id -un),root)
|
|
$(error "make install should not be run as root")
|
|
else ifeq ($(platform),windows)
|
|
else ifeq ($(platform),macosx)
|
|
else
|
|
mkdir -p $(prefix)/bin/
|
|
mkdir -p $(prefix)/share/icons/
|
|
mkdir -p $(prefix)/$(name)/
|
|
mkdir -p ~/Emulation/System/
|
|
cp out/$(name) $(prefix)/bin/$(name)
|
|
cp data/higan.png $(prefix)/share/icons/$(name).png
|
|
cp data/cheats.bml $(prefix)/$(name)/cheats.bml
|
|
cp -R profile/* ~/Emulation/System/
|
|
endif
|
|
|
|
uninstall:
|
|
ifeq ($(shell id -un),root)
|
|
$(error "make uninstall should not be run as root")
|
|
else ifeq ($(platform),windows)
|
|
else ifeq ($(platform),macosx)
|
|
else
|
|
if [ -f $(prefix)/bin/$(name) ]; then rm $(prefix)/bin/$(name); fi
|
|
if [ -f $(prefix)/share/icons/$(name).png ]; then rm $(prefix)/share/icons/$(name).png; fi
|
|
endif
|