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.

165 lines
5.5KB

  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. -Isrc
  9. BUILD_CXX_FLAGS += $(DGL_FLAGS) -I. -Isrc -DDONT_SET_USING_DGL_NAMESPACE -Wno-unused-parameter
  10. # -Isrc/pugl-upstream/include
  11. LINK_FLAGS += $(DGL_LIBS)
  12. # TODO fix these after pugl-upstream is done
  13. BUILD_CXX_FLAGS += -Wno-missing-field-initializers -Wno-extra -Wno-narrowing
  14. # ifneq ($(MACOS_OLD),true)
  15. # needed by sofd right now, fix later
  16. # BUILD_CXX_FLAGS += -Wno-type-limits -fpermissive
  17. # endif
  18. # ---------------------------------------------------------------------------------------------------------------------
  19. OBJS_common = \
  20. ../build/dgl/Application.cpp.o \
  21. ../build/dgl/ApplicationPrivateData.cpp.o \
  22. ../build/dgl/Color.cpp.o \
  23. ../build/dgl/Geometry.cpp.o
  24. # ../build/dgl/ImageBase.cpp.o \
  25. # ../build/dgl/Resources.cpp.o\
  26. # ../build/dgl/StandaloneWindow.cpp.o \
  27. # ../build/dgl/Widget.cpp.o \
  28. # ../build/dgl/Window.cpp.o\
  29. # ../build/dgl/WindowFileBrowser.cpp.o
  30. # TODO: ImageWidgets.cpp
  31. # ---------------------------------------------------------------------------------------------------------------------
  32. OBJS_cairo = $(OBJS_common)
  33. # ../build/dgl/Cairo.cpp.cairo.o \
  34. # ../build/dgl/WidgetPrivateData.cpp.cairo.o \
  35. # ../build/dgl/WindowPrivateData.cpp.cairo.o
  36. # ifeq ($(MACOS),true)
  37. # OBJS_cairo += ../build/dgl/Window.mm.cairo.o
  38. # else
  39. # OBJS_cairo += ../build/dgl/Window.cpp.cairo.o
  40. # endif
  41. # ---------------------------------------------------------------------------------------------------------------------
  42. OBJS_opengl = $(OBJS_common)
  43. # ../build/dgl/OpenGL.cpp.opengl.o \
  44. # ../build/dgl/Image.cpp.opengl.o \
  45. # ../build/dgl/ImageWidgets.cpp.opengl.o \
  46. # ../build/dgl/NanoVG.cpp.opengl.o \
  47. # ../build/dgl/WidgetPrivateData.cpp.opengl.o \
  48. # ../build/dgl/WindowPrivateData.cpp.opengl.o
  49. # ifeq ($(MACOS),true)
  50. # OBJS_opengl += ../build/dgl/Window.mm.opengl.o
  51. # else
  52. # OBJS_opengl += ../build/dgl/Window.cpp.opengl.o
  53. # endif
  54. # ---------------------------------------------------------------------------------------------------------------------
  55. ifeq ($(HAVE_CAIRO),true)
  56. TARGETS += ../build/libdgl-cairo.a
  57. endif
  58. ifeq ($(HAVE_OPENGL),true)
  59. TARGETS += ../build/libdgl-opengl.a
  60. # Compat name, to be removed soon
  61. TARGETS += ../build/libdgl.a
  62. endif
  63. # ---------------------------------------------------------------------------------------------------------------------
  64. all: $(TARGETS)
  65. # ---------------------------------------------------------------------------------------------------------------------
  66. ../build/libdgl-cairo.a: $(OBJS_cairo)
  67. -@mkdir -p ../build
  68. @echo "Creating libdgl-cairo.a"
  69. $(SILENT)rm -f $@
  70. $(SILENT)$(AR) crs $@ $^
  71. ../build/libdgl-opengl.a: $(OBJS_opengl)
  72. -@mkdir -p ../build
  73. @echo "Creating libdgl-opengl.a"
  74. $(SILENT)rm -f $@
  75. $(SILENT)$(AR) crs $@ $^
  76. # Compat name, to be removed soon
  77. ../build/libdgl.a: ../build/libdgl-opengl.a
  78. @echo "Symlinking libdgl.a"
  79. $(SILENT)ln -sf $< $@
  80. # ---------------------------------------------------------------------------------------------------------------------
  81. ../build/dgl/%.c.o: src/%.c
  82. -@mkdir -p ../build/dgl
  83. @echo "Compiling $<"
  84. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  85. ../build/dgl/%.cpp.o: src/%.cpp
  86. -@mkdir -p ../build/dgl
  87. @echo "Compiling $<"
  88. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  89. # ---------------------------------------------------------------------------------------------------------------------
  90. # ../build/dgl/%.cpp.cairo.o: src/%.cpp
  91. # -@mkdir -p ../build/dgl
  92. # @echo "Compiling $< (Cairo variant)"
  93. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  94. # ../build/dgl/Window.cpp.cairo.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  95. # -@mkdir -p ../build/dgl
  96. # @echo "Compiling $< (Cairo variant)"
  97. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  98. #
  99. # ../build/dgl/Window.mm.cairo.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  100. # -@mkdir -p ../build/dgl
  101. # @echo "Compiling $< (Cairo variant)"
  102. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -ObjC++ -c -o $@
  103. # ---------------------------------------------------------------------------------------------------------------------
  104. # ../build/dgl/%.cpp.opengl.o: src/%.cpp
  105. # -@mkdir -p ../build/dgl
  106. # @echo "Compiling $< (OpenGL variant)"
  107. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  108. # ../build/dgl/Window.cpp.opengl.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  109. # -@mkdir -p ../build/dgl
  110. # @echo "Compiling $< (OpenGL variant)"
  111. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  112. #
  113. # ../build/dgl/Window.mm.opengl.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  114. # -@mkdir -p ../build/dgl
  115. # @echo "Compiling $< (OpenGL variant)"
  116. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -ObjC++ -c -o $@
  117. # ---------------------------------------------------------------------------------------------------------------------
  118. clean:
  119. rm -rf ../build/dgl ../build/libdgl*.*
  120. debug:
  121. $(MAKE) DEBUG=true
  122. # ---------------------------------------------------------------------------------------------------------------------
  123. -include $(OBJS_common:%.o=%.d)
  124. -include $(OBJS_cairo:%.o=%.d)
  125. -include $(OBJS_opengl:%.o=%.d)
  126. # ---------------------------------------------------------------------------------------------------------------------