mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-01-17 12:48:23 +01:00
5da4532771
byuu says: Everything *should* be working again, but of course that won't actually be the case. Here's where things stand: - bsnes, higan, icarus, and genius compile and run fine on FreeBSD with GTK - ruby video and audio drivers are untested on Windows, macOS, and Linux - hiro is untested on macOS - bsnes' status bar is not showing up properly with hiro/qt - bsnes and higan's about screen is not showing up properly with hiro/qt (1x1 window size) - bsnes on Windows crashes often when saving states, and I'm not sure why ... it happens inside Encode::RLE - bsnes on Windows crashes with ruby.input.windows (unsure why) - bsnes on Windows fails to show the verified emblem on the status bar properly - hiro on Windows flickers when changing tabs To build the Windows bsnes and higan ports, use ruby="video.gdi audio.directsound" Compilation error logs for Linux will help me fix the inevitable list of typos there. I can fix the typos on other platforms, I just haven't gotten to it yet.
78 lines
2.8 KiB
Makefile
78 lines
2.8 KiB
Makefile
ifeq ($(ruby),)
|
|
ifeq ($(platform),windows)
|
|
ruby += video.wgl video.direct3d video.directdraw video.gdi
|
|
ruby += audio.asio audio.wasapi audio.xaudio2 audio.directsound
|
|
ruby += input.windows
|
|
else ifeq ($(platform),macos)
|
|
ruby += video.cgl
|
|
ruby += audio.openal
|
|
ruby += input.quartz input.carbon
|
|
else ifeq ($(platform),linux)
|
|
ruby += video.glx video.xvideo video.xshm
|
|
ruby += audio.oss audio.alsa audio.openal audio.pulseaudio audio.pulseaudiosimple audio.ao
|
|
ruby += input.sdl input.xlib input.udev
|
|
else ifeq ($(platform),bsd)
|
|
ruby += video.glx video.glx2 video.xvideo video.xshm
|
|
ruby += audio.oss audio.openal
|
|
ruby += input.sdl input.xlib
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(platform),macos)
|
|
ruby.flags := $(flags.objcpp)
|
|
else
|
|
ruby.flags := $(flags.cpp)
|
|
endif
|
|
|
|
ruby.flags += $(foreach c,$(subst .,_,$(call strupper,$(ruby))),-D$c)
|
|
ruby.flags += $(if $(findstring input.sdl,$(ruby)),$(shell sdl2-config --cflags))
|
|
|
|
ruby.options :=
|
|
|
|
ruby.options += $(if $(findstring video.cgl,$(ruby)),-framework OpenGL)
|
|
ruby.options += $(if $(findstring video.direct3d,$(ruby)),-ld3d9)
|
|
ruby.options += $(if $(findstring video.directdraw,$(ruby)),-lddraw)
|
|
ruby.options += $(if $(findstring video.glx,$(ruby)),-lGL)
|
|
ruby.options += $(if $(findstring video.wgl,$(ruby)),-lopengl32)
|
|
ruby.options += $(if $(findstring video.xvideo,$(ruby)),-lXv)
|
|
|
|
ruby.options += $(if $(findstring audio.alsa,$(ruby)),-lasound)
|
|
ruby.options += $(if $(findstring audio.ao,$(ruby)),-lao)
|
|
ruby.options += $(if $(findstring audio.directsound,$(ruby)),-ldsound -luuid)
|
|
ruby.options += $(if $(findstring audio.pulseaudio,$(ruby)),-lpulse)
|
|
ruby.options += $(if $(findstring audio.pulseaudiosimple,$(ruby)),-lpulse-simple)
|
|
ruby.options += $(if $(findstring audio.wasapi,$(ruby)),-lavrt -luuid)
|
|
ruby.options += $(if $(findstring audio.xaudio2,$(ruby)),-lole32)
|
|
|
|
ruby.options += $(if $(findstring input.sdl,$(ruby)),$(shell sdl2-config --libs))
|
|
ruby.options += $(if $(findstring input.udev,$(ruby)),-ludev)
|
|
ruby.options += $(if $(findstring input.windows,$(ruby)),-ldinput8 -ldxguid)
|
|
|
|
ifeq ($(platform),windows)
|
|
ruby.options += $(if $(findstring audio.openal,$(ruby)),-lopenal32)
|
|
endif
|
|
|
|
ifeq ($(platform),macos)
|
|
ruby.options += $(if $(findstring audio.openal,$(ruby)),-framework OpenAL)
|
|
endif
|
|
|
|
ifeq ($(platform),linux)
|
|
ruby.options += -lX11 -lXext
|
|
ruby.options += $(if $(findstring audio.openal,$(ruby)),-lopenal)
|
|
endif
|
|
|
|
ifeq ($(platform),bsd)
|
|
ruby.options += -lX11 -lXext
|
|
ruby.options += $(if $(findstring audio.openal,$(ruby)),-lopenal)
|
|
endif
|
|
|
|
ruby.objects := $(object.path)/ruby.o
|
|
|
|
$(object.path)/ruby.o: $(ruby.path)/ruby.cpp $(call rwildcard,$(ruby.path))
|
|
$(info Compiling $< ...)
|
|
@$(compiler) $(ruby.flags) $(flags) $(flags.deps) -c $< -o $@
|
|
|
|
ruby.verbose:
|
|
$(info ruby Drivers:)
|
|
$(foreach n,$(ruby),$(info $([space]) $n))
|