GNUmakefile 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ifeq ($(ruby),)
  2. ifeq ($(platform),windows)
  3. ruby += video.wgl video.direct3d video.directdraw video.gdi
  4. ruby += audio.wasapi audio.xaudio2 audio.directsound audio.waveout #audio.asio
  5. ruby += input.windows
  6. else ifeq ($(platform),macos)
  7. ruby += video.cgl
  8. ruby += audio.openal
  9. ruby += input.quartz #input.carbon
  10. else ifeq ($(platform),linux)
  11. ruby += video.glx video.glx2 video.xvideo video.xshm
  12. ruby += audio.oss audio.alsa audio.openal audio.pulseaudio audio.pulseaudiosimple audio.ao
  13. ruby += input.udev input.sdl input.xlib
  14. else ifeq ($(platform),bsd)
  15. ruby += video.glx video.glx2 video.xvideo video.xshm
  16. ruby += audio.oss audio.openal #audio.pulseaudio
  17. ruby += input.uhid input.sdl input.xlib
  18. endif
  19. endif
  20. ifeq ($(platform),macos)
  21. ruby.flags := $(flags.objcpp)
  22. else
  23. ruby.flags := $(flags.cpp)
  24. endif
  25. ruby.flags += $(foreach c,$(subst .,_,$(call strupper,$(ruby))),-D$c)
  26. ruby.flags += $(if $(findstring input.sdl,$(ruby)),$(shell sdl2-config --cflags))
  27. ruby.options :=
  28. ruby.options += $(if $(findstring video.cgl,$(ruby)),-framework OpenGL)
  29. ruby.options += $(if $(findstring video.direct3d,$(ruby)),-ld3d9)
  30. ruby.options += $(if $(findstring video.directdraw,$(ruby)),-lddraw)
  31. ruby.options += $(if $(findstring video.glx,$(ruby)),-lGL)
  32. ruby.options += $(if $(findstring video.wgl,$(ruby)),-lopengl32)
  33. ruby.options += $(if $(findstring video.xvideo,$(ruby)),-lXv)
  34. ruby.options += $(if $(findstring audio.alsa,$(ruby)),-lasound)
  35. ruby.options += $(if $(findstring audio.ao,$(ruby)),-lao)
  36. ruby.options += $(if $(findstring audio.directsound,$(ruby)),-ldsound -luuid)
  37. ruby.options += $(if $(findstring audio.pulseaudio,$(ruby)),-lpulse)
  38. ruby.options += $(if $(findstring audio.pulseaudiosimple,$(ruby)),-lpulse-simple)
  39. ruby.options += $(if $(findstring audio.wasapi,$(ruby)),-lavrt -luuid)
  40. ruby.options += $(if $(findstring audio.waveout,$(ruby)),-lwinmm)
  41. ruby.options += $(if $(findstring audio.xaudio2,$(ruby)),-lole32)
  42. ruby.options += $(if $(findstring input.sdl,$(ruby)),$(shell sdl2-config --libs))
  43. ruby.options += $(if $(findstring input.udev,$(ruby)),-ludev)
  44. ruby.options += $(if $(findstring input.uhid,$(ruby)),-lusbhid)
  45. ruby.options += $(if $(findstring input.windows,$(ruby)),-ldinput8 -ldxguid)
  46. ifeq ($(platform),windows)
  47. ruby.options += $(if $(findstring audio.openal,$(ruby)),-lopenal32)
  48. endif
  49. ifeq ($(platform),macos)
  50. ruby.options += -framework IOKit
  51. ruby.options += $(if $(findstring audio.openal,$(ruby)),-framework OpenAL)
  52. endif
  53. ifeq ($(platform),linux)
  54. ruby.options += -lX11 -lXext -lXrandr
  55. ruby.options += $(if $(findstring audio.openal,$(ruby)),-lopenal)
  56. endif
  57. ifeq ($(platform),bsd)
  58. ruby.options += -lX11 -lXext -lXrandr
  59. ruby.options += $(if $(findstring audio.openal,$(ruby)),-lopenal -fuse-ld=bfd)
  60. # -fuse-ld=bfd: see FreeBSD bug 219089
  61. endif
  62. ruby.objects := $(object.path)/ruby.o
  63. $(object.path)/ruby.o: $(ruby.path)/ruby.cpp $(call rwildcard,$(ruby.path))
  64. $(info Compiling $(subst ../,,$<) ...)
  65. @$(compiler) $(ruby.flags) $(flags) $(flags.deps) -c $< -o $@
  66. ruby.verbose:
  67. $(info ruby Drivers:)
  68. $(foreach n,$(ruby),$(info $([space]) $n))