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.

138 lines
4.4KB

  1. #!/usr/bin/make -f
  2. # Makefile for DGL #
  3. # ---------------- #
  4. # Created by falkTX
  5. #
  6. include ../Makefile.base.mk
  7. # ---------------------------------------------------------------------------------------------------------------------
  8. BUILD_C_FLAGS += $(DGL_FLAGS) -I..
  9. BUILD_CXX_FLAGS += $(DGL_FLAGS) -I.. -I../dgl/src/pugl-upstream/include -DDONT_SET_USING_DGL_NAMESPACE
  10. LINK_FLAGS += -lpthread
  11. # TODO fix within pugl
  12. BUILD_CXX_FLAGS += -Wno-extra -Wno-missing-field-initializers
  13. # ---------------------------------------------------------------------------------------------------------------------
  14. TESTS = Application Color Point
  15. ifeq ($(HAVE_CAIRO),true)
  16. TESTS += Demo.cairo
  17. WTESTS += Window.cairo
  18. endif
  19. ifeq ($(HAVE_OPENGL),true)
  20. TESTS += Demo.opengl
  21. WTESTS += Window.opengl
  22. endif
  23. ifeq ($(HAVE_VULKAN),true)
  24. WTESTS = Window.vulkan
  25. endif
  26. TARGETS = $(TESTS:%=../build/tests/%$(APP_EXT))
  27. TARGETS += $(WTESTS:Window.%=../build/tests/Window.%$(APP_EXT))
  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. ifeq ($(HAVE_VULKAN),true)
  36. endif
  37. # ---------------------------------------------------------------------------------------------------------------------
  38. all: $(TARGETS)
  39. # ---------------------------------------------------------------------------------------------------------------------
  40. define RUN_TEST
  41. ${1}
  42. endef
  43. # valgrind --leak-check=full $@
  44. run: $(TARGETS)
  45. $(foreach TEST,$(TARGETS),$(call RUN_TEST,$(TEST)))
  46. # ---------------------------------------------------------------------------------------------------------------------
  47. clean:
  48. rm -rf ../build/tests
  49. # ---------------------------------------------------------------------------------------------------------------------
  50. # building steps
  51. ../build/tests/%.c.o: %.c
  52. -@mkdir -p ../build/tests
  53. @echo "Compiling $<"
  54. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  55. ../build/tests/%.cpp.o: %.cpp
  56. -@mkdir -p ../build/tests
  57. @echo "Compiling $<"
  58. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  59. ../build/tests/%.cpp.cairo.o: %.cpp
  60. -@mkdir -p ../build/tests
  61. @echo "Compiling $< (Cairo)"
  62. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  63. ../build/tests/%.cpp.opengl.o: %.cpp
  64. -@mkdir -p ../build/tests
  65. @echo "Compiling $< (OpenGL)"
  66. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  67. ../build/tests/%.cpp.vulkan.o: %.cpp
  68. -@mkdir -p ../build/tests
  69. @echo "Compiling $< (Vulkan)"
  70. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_VULKAN -c -o $@
  71. # ---------------------------------------------------------------------------------------------------------------------
  72. # linking steps
  73. ../build/tests/%$(APP_EXT): ../build/tests/%.cpp.o
  74. @echo "Linking $*"
  75. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) -o $@
  76. ../build/tests/%.cairo$(APP_EXT): ../build/tests/%.cpp.cairo.o
  77. @echo "Linking $*"
  78. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(CAIRO_LIBS) -o $@
  79. ../build/tests/%.opengl$(APP_EXT): ../build/tests/%.cpp.opengl.o
  80. @echo "Linking $*"
  81. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(OPENGL_LIBS) -o $@
  82. ../build/tests/%.vulkan$(APP_EXT): ../build/tests/%.cpp.vulkan.o
  83. @echo "Linking $*"
  84. $(SILENT)$(CXX) $< $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(VULKAN_LIBS) -o $@
  85. ../build/tests/Demo.cairo$(APP_EXT): ../build/tests/Demo.cpp.cairo.o ../build/libdgl-cairo.a
  86. @echo "Linking Demo (Cairo)"
  87. $(SILENT)$(CXX) $^ $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(CAIRO_LIBS) -o $@
  88. ../build/tests/Demo.opengl$(APP_EXT): ../build/tests/Demo.cpp.opengl.o ../build/libdgl-opengl.a
  89. @echo "Linking Demo (OpenGL)"
  90. $(SILENT)$(CXX) $^ $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(OPENGL_LIBS) -o $@
  91. ../build/tests/Demo.vulkan$(APP_EXT): ../build/tests/Demo.cpp.vulkan.o ../build/libdgl-vulkan.a
  92. @echo "Linking Demo (OpenGL)"
  93. $(SILENT)$(CXX) $^ $(LINK_FLAGS) $(DGL_SYSTEM_LIBS) $(VULKAN_LIBS) -o $@
  94. # ---------------------------------------------------------------------------------------------------------------------
  95. -include $(OBJS:%.o=%.d)
  96. -include ../build/tests/Demo.cpp.cairo.d
  97. -include ../build/tests/Demo.cpp.opengl.d
  98. -include ../build/tests/Demo.cpp.vulkan.d
  99. # ---------------------------------------------------------------------------------------------------------------------