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.

141 lines
4.4KB

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