DISTRHO Plugin Framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.5KB

  1. #!/usr/bin/make -f
  2. # Makefile for DGL #
  3. # ---------------- #
  4. # Created by falkTX
  5. #
  6. # debug mode by default
  7. DEBUG=true
  8. include ../Makefile.base.mk
  9. # ---------------------------------------------------------------------------------------------------------------------
  10. BUILD_C_FLAGS += $(DGL_FLAGS) -I..
  11. BUILD_CXX_FLAGS += $(DGL_FLAGS) -I.. -I../dgl/src/pugl-upstream/include -DDONT_SET_USING_DGL_NAMESPACE
  12. LINK_FLAGS += -lpthread
  13. # TODO fix within pugl
  14. BUILD_CXX_FLAGS += -Wno-missing-field-initializers -Wno-extra
  15. # ---------------------------------------------------------------------------------------------------------------------
  16. TESTS = Application Color Point
  17. ifeq ($(HAVE_CAIRO),true)
  18. WTESTS = Window.cairo
  19. endif
  20. ifeq ($(HAVE_OPENGL),true)
  21. WTESTS = Window.opengl
  22. endif
  23. ifeq ($(HAVE_VULKAN),true)
  24. WTESTS = Window.vulkan
  25. endif
  26. TARGETS = $(TESTS:%=../build/tests/%)
  27. TARGETS += $(WTESTS:Window.%=../build/tests/Window.%)
  28. OBJS = $(TESTS:%=../build/tests/%.cpp.o)
  29. OBJS += $(WTESTS:Window.%=../build/tests/Window.cpp.%.o)
  30. # ---------------------------------------------------------------------------------------------------------------------
  31. ifeq ($(HAVE_CAIRO),true)
  32. endif
  33. ifeq ($(HAVE_OPENGL),true)
  34. endif
  35. # ---------------------------------------------------------------------------------------------------------------------
  36. all: $(TARGETS)
  37. # ---------------------------------------------------------------------------------------------------------------------
  38. ../build/tests/%: ../build/tests/%.cpp.o
  39. @echo "Linking $*"
  40. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) -o $@
  41. @echo "Running test for $*"
  42. $(SILENT)$@
  43. # valgrind --leak-check=full $@
  44. ../build/tests/%.cairo: ../build/tests/%.cpp.cairo.o
  45. @echo "Linking $*"
  46. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(CAIRO_LIBS) -o $@
  47. @echo "Running test for $*"
  48. $(SILENT)$@
  49. ../build/tests/%.opengl: ../build/tests/%.cpp.opengl.o
  50. @echo "Linking $*"
  51. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(OPENGL_LIBS) -o $@
  52. @echo "Running test for $*"
  53. $(SILENT) $@
  54. # gdb -ex run
  55. ../build/tests/%.vulkan: ../build/tests/%.cpp.vulkan.o
  56. @echo "Linking $*"
  57. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(VULKAN_LIBS) -o $@
  58. @echo "Running test for $*"
  59. $(SILENT)$@
  60. # ---------------------------------------------------------------------------------------------------------------------
  61. ../build/tests/%.c.o: %.c
  62. -@mkdir -p ../build/tests
  63. @echo "Compiling $<"
  64. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  65. ../build/tests/%.cpp.o: %.cpp
  66. -@mkdir -p ../build/tests
  67. @echo "Compiling $<"
  68. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  69. ../build/tests/%.cpp.cairo.o: %.cpp
  70. -@mkdir -p ../build/tests
  71. @echo "Compiling $< (Cairo)"
  72. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  73. ../build/tests/%.cpp.opengl.o: %.cpp
  74. -@mkdir -p ../build/tests
  75. @echo "Compiling $< (OpenGL)"
  76. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  77. ../build/tests/%.cpp.vulkan.o: Window.cpp
  78. -@mkdir -p ../build/tests
  79. @echo "Compiling $< (Vulkan)"
  80. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_VULKAN -c -o $@
  81. # ---------------------------------------------------------------------------------------------------------------------
  82. clean:
  83. rm -rf ../build/tests
  84. # ---------------------------------------------------------------------------------------------------------------------
  85. -include $(OBJS:%.o=%.d)
  86. # ---------------------------------------------------------------------------------------------------------------------