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.

143 lines
4.3KB

  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. TESTS += Demo
  22. WTESTS = Window.opengl
  23. endif
  24. ifeq ($(HAVE_VULKAN),true)
  25. WTESTS = Window.vulkan
  26. endif
  27. TARGETS = $(TESTS:%=../build/tests/%)
  28. TARGETS += $(WTESTS:Window.%=../build/tests/Window.%)
  29. OBJS = $(TESTS:%=../build/tests/%.cpp.o)
  30. OBJS += $(WTESTS:Window.%=../build/tests/Window.cpp.%.o)
  31. # ---------------------------------------------------------------------------------------------------------------------
  32. ifeq ($(HAVE_CAIRO),true)
  33. endif
  34. ifeq ($(HAVE_OPENGL),true)
  35. endif
  36. ifeq ($(HAVE_VULKAN),true)
  37. endif
  38. # ---------------------------------------------------------------------------------------------------------------------
  39. all: $(TARGETS)
  40. # ---------------------------------------------------------------------------------------------------------------------
  41. define RUN_TEST
  42. ${1}
  43. endef
  44. # valgrind --leak-check=full $@
  45. run: $(TARGETS)
  46. $(foreach TEST,$(TARGETS),$(call RUN_TEST,$(TEST)))
  47. # ---------------------------------------------------------------------------------------------------------------------
  48. clean:
  49. rm -rf ../build/tests
  50. # ---------------------------------------------------------------------------------------------------------------------
  51. # building steps
  52. ../build/tests/%.c.o: %.c
  53. -@mkdir -p ../build/tests
  54. @echo "Compiling $<"
  55. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  56. ../build/tests/%.cpp.o: %.cpp
  57. -@mkdir -p ../build/tests
  58. @echo "Compiling $<"
  59. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  60. ../build/tests/%.cpp.cairo.o: %.cpp
  61. -@mkdir -p ../build/tests
  62. @echo "Compiling $< (Cairo)"
  63. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  64. ../build/tests/Demo.cpp.o: Demo.cpp
  65. -@mkdir -p ../build/tests
  66. @echo "Compiling $< (OpenGL)"
  67. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  68. ../build/tests/Testing.cpp.o: Testing.cpp
  69. -@mkdir -p ../build/tests
  70. @echo "Compiling $< (OpenGL)"
  71. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  72. ../build/tests/%.cpp.opengl.o: %.cpp
  73. -@mkdir -p ../build/tests
  74. @echo "Compiling $< (OpenGL)"
  75. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  76. ../build/tests/%.cpp.vulkan.o: %.cpp
  77. -@mkdir -p ../build/tests
  78. @echo "Compiling $< (Vulkan)"
  79. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_VULKAN -c -o $@
  80. # ---------------------------------------------------------------------------------------------------------------------
  81. # linking steps
  82. ../build/tests/%: ../build/tests/%.cpp.o
  83. @echo "Linking $*"
  84. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) -o $@
  85. ../build/tests/%.cairo: ../build/tests/%.cpp.cairo.o
  86. @echo "Linking $*"
  87. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(CAIRO_LIBS) -o $@
  88. ../build/tests/Demo: ../build/tests/Demo.cpp.o
  89. @echo "Linking Demo"
  90. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(OPENGL_LIBS) -o $@
  91. ../build/tests/Testing: ../build/tests/Testing.cpp.o
  92. @echo "Linking Testing"
  93. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(OPENGL_LIBS) -o $@
  94. ../build/tests/%.opengl: ../build/tests/%.cpp.opengl.o
  95. @echo "Linking $*"
  96. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(OPENGL_LIBS) -o $@
  97. ../build/tests/%.vulkan: ../build/tests/%.cpp.vulkan.o
  98. @echo "Linking $*"
  99. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(VULKAN_LIBS) -o $@
  100. # ---------------------------------------------------------------------------------------------------------------------
  101. -include $(OBJS:%.o=%.d)
  102. # ---------------------------------------------------------------------------------------------------------------------