Collection of DPF-based plugins for packaging
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.

266 lines
8.3KB

  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. BUILD_CXX_FLAGS += -Isrc/pugl-upstream/include
  11. LINK_FLAGS += $(DGL_LIBS)
  12. ifeq ($(MACOS),true)
  13. BUILD_CXX_FLAGS += -Wno-deprecated-declarations
  14. else
  15. PUGL_EXTRA_FLAGS = -Wno-extra -Wmissing-field-initializers
  16. endif
  17. # ifneq ($(MACOS_OLD),true)
  18. # needed by sofd right now, fix later
  19. # BUILD_CXX_FLAGS += -Wno-type-limits -fpermissive
  20. # endif
  21. # ---------------------------------------------------------------------------------------------------------------------
  22. OBJS_common = \
  23. ../build/dgl/Application.cpp.o \
  24. ../build/dgl/ApplicationPrivateData.cpp.o \
  25. ../build/dgl/Color.cpp.o \
  26. ../build/dgl/EventHandlers.cpp.o \
  27. ../build/dgl/Geometry.cpp.o \
  28. ../build/dgl/ImageBase.cpp.o \
  29. ../build/dgl/ImageBaseWidgets.cpp.o \
  30. ../build/dgl/Layout.cpp.o \
  31. ../build/dgl/Resources.cpp.o \
  32. ../build/dgl/SubWidget.cpp.o \
  33. ../build/dgl/SubWidgetPrivateData.cpp.o \
  34. ../build/dgl/TopLevelWidget.cpp.o \
  35. ../build/dgl/TopLevelWidgetPrivateData.cpp.o \
  36. ../build/dgl/Widget.cpp.o \
  37. ../build/dgl/WidgetPrivateData.cpp.o \
  38. ../build/dgl/Window.cpp.o \
  39. ../build/dgl/WindowPrivateData.cpp.o
  40. # ---------------------------------------------------------------------------------------------------------------------
  41. OBJS_cairo = $(OBJS_common) \
  42. ../build/dgl/Cairo.cpp.cairo.o
  43. ifeq ($(MACOS),true)
  44. OBJS_cairo += ../build/dgl/pugl.mm.cairo.o
  45. else
  46. OBJS_cairo += ../build/dgl/pugl.cpp.cairo.o
  47. endif
  48. # ---------------------------------------------------------------------------------------------------------------------
  49. OBJS_opengl = $(OBJS_common) \
  50. ../build/dgl/OpenGL.cpp.opengl.o \
  51. ../build/dgl/NanoVG.cpp.opengl.o
  52. ifeq ($(MACOS),true)
  53. OBJS_opengl += ../build/dgl/pugl.mm.opengl.o
  54. else
  55. OBJS_opengl += ../build/dgl/pugl.cpp.opengl.o
  56. endif
  57. # ---------------------------------------------------------------------------------------------------------------------
  58. OBJS_opengl3 = $(OBJS_common) \
  59. ../build/dgl/OpenGL.cpp.opengl3.o \
  60. ../build/dgl/NanoVG.cpp.opengl3.o
  61. ifeq ($(MACOS),true)
  62. OBJS_opengl3 += ../build/dgl/pugl.mm.opengl3.o
  63. else
  64. OBJS_opengl3 += ../build/dgl/pugl.cpp.opengl3.o
  65. endif
  66. # ---------------------------------------------------------------------------------------------------------------------
  67. OBJS_stub = $(OBJS_common)
  68. ifeq ($(MACOS),true)
  69. OBJS_stub += ../build/dgl/pugl.mm.o
  70. else
  71. OBJS_stub += ../build/dgl/pugl.cpp.o
  72. endif
  73. # ---------------------------------------------------------------------------------------------------------------------
  74. OBJS_vulkan = $(OBJS_common) \
  75. ../build/dgl/Vulkan.cpp.vulkan.o
  76. ifeq ($(MACOS),true)
  77. OBJS_vulkan += ../build/dgl/pugl.mm.vulkan.o
  78. else
  79. OBJS_vulkan += ../build/dgl/pugl.cpp.vulkan.o
  80. endif
  81. # ---------------------------------------------------------------------------------------------------------------------
  82. ifeq ($(HAVE_CAIRO),true)
  83. TARGETS += ../build/libdgl-cairo.a
  84. endif
  85. ifeq ($(HAVE_OPENGL),true)
  86. TARGETS += ../build/libdgl-opengl.a
  87. # Compat name, to be removed soon
  88. TARGETS += ../build/libdgl.a
  89. endif
  90. ifeq ($(HAVE_STUB),true)
  91. TARGETS += ../build/libdgl-stub.a
  92. endif
  93. ifeq ($(HAVE_VULKAN),true)
  94. TARGETS += ../build/libdgl-vulkan.a
  95. endif
  96. # ---------------------------------------------------------------------------------------------------------------------
  97. all: $(TARGETS)
  98. cairo: ../build/libdgl-cairo.a
  99. opengl: ../build/libdgl-opengl.a
  100. opengl3: ../build/libdgl-opengl3.a
  101. stub: ../build/libdgl-stub.a
  102. vulkan: ../build/libdgl-vulkan.a
  103. # ---------------------------------------------------------------------------------------------------------------------
  104. ../build/libdgl-cairo.a: $(OBJS_cairo)
  105. -@mkdir -p ../build
  106. @echo "Creating libdgl-cairo.a"
  107. $(SILENT)rm -f $@
  108. $(SILENT)$(AR) crs $@ $^
  109. ../build/libdgl-opengl.a: $(OBJS_opengl)
  110. -@mkdir -p ../build
  111. @echo "Creating libdgl-opengl.a"
  112. $(SILENT)rm -f $@
  113. $(SILENT)$(AR) crs $@ $^
  114. ../build/libdgl-opengl3.a: $(OBJS_opengl3)
  115. -@mkdir -p ../build
  116. @echo "Creating libdgl-opengl3.a"
  117. $(SILENT)rm -f $@
  118. $(SILENT)$(AR) crs $@ $^
  119. ../build/libdgl-stub.a: $(OBJS_stub)
  120. -@mkdir -p ../build
  121. @echo "Creating libdgl-stub.a"
  122. $(SILENT)rm -f $@
  123. $(SILENT)$(AR) crs $@ $^
  124. ../build/libdgl-vulkan.a: $(OBJS_vulkan)
  125. -@mkdir -p ../build
  126. @echo "Creating libdgl-vulkan.a"
  127. $(SILENT)rm -f $@
  128. $(SILENT)$(AR) crs $@ $^
  129. # Compat name, to be removed soon
  130. ../build/libdgl.a: ../build/libdgl-opengl.a
  131. @echo "Symlinking libdgl.a"
  132. $(SILENT)ln -sf $< $@
  133. # ---------------------------------------------------------------------------------------------------------------------
  134. ../build/dgl/%.c.o: src/%.c
  135. -@mkdir -p ../build/dgl
  136. @echo "Compiling $<"
  137. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  138. ../build/dgl/%.cpp.o: src/%.cpp
  139. -@mkdir -p ../build/dgl
  140. @echo "Compiling $<"
  141. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  142. ../build/dgl/%.mm.o: src/%.mm
  143. -@mkdir -p ../build/dgl
  144. @echo "Compiling $<"
  145. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -ObjC++ -o $@
  146. # ---------------------------------------------------------------------------------------------------------------------
  147. ../build/dgl/pugl.cpp.o: src/pugl.cpp
  148. -@mkdir -p ../build/dgl
  149. @echo "Compiling $<"
  150. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) -c -o $@
  151. ../build/dgl/pugl.mm.o: src/pugl.mm
  152. -@mkdir -p ../build/dgl
  153. @echo "Compiling $<"
  154. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) -c -ObjC++ -o $@
  155. # ---------------------------------------------------------------------------------------------------------------------
  156. ../build/dgl/%.cpp.cairo.o: src/%.cpp
  157. -@mkdir -p ../build/dgl
  158. @echo "Compiling $< (Cairo variant)"
  159. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  160. ../build/dgl/%.mm.cairo.o: src/%.mm
  161. -@mkdir -p ../build/dgl
  162. @echo "Compiling $< (Cairo variant)"
  163. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -ObjC++ -o $@
  164. # ---------------------------------------------------------------------------------------------------------------------
  165. ../build/dgl/%.cpp.opengl.o: src/%.cpp
  166. -@mkdir -p ../build/dgl
  167. @echo "Compiling $< (OpenGL variant)"
  168. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  169. ../build/dgl/%.mm.opengl.o: src/%.mm
  170. -@mkdir -p ../build/dgl
  171. @echo "Compiling $< (OpenGL variant)"
  172. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -ObjC++ -o $@
  173. # ---------------------------------------------------------------------------------------------------------------------
  174. ../build/dgl/%.cpp.opengl3.o: src/%.cpp
  175. -@mkdir -p ../build/dgl
  176. @echo "Compiling $< (OpenGL3 variant)"
  177. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -DDGL_USE_OPENGL3 -c -o $@
  178. ../build/dgl/%.mm.opengl3.o: src/%.mm
  179. -@mkdir -p ../build/dgl
  180. @echo "Compiling $< (OpenGL3 variant)"
  181. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -DDGL_USE_OPENGL3 -c -ObjC++ -o $@
  182. # ---------------------------------------------------------------------------------------------------------------------
  183. ../build/dgl/%.cpp.vulkan.o: src/%.cpp
  184. -@mkdir -p ../build/dgl
  185. @echo "Compiling $< (Vulkan variant)"
  186. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(VULKAN_FLAGS) -DDGL_VULKAN -c -o $@
  187. ../build/dgl/%.mm.vulkan.o: src/%.mm
  188. -@mkdir -p ../build/dgl
  189. @echo "Compiling $< (Vulkan variant)"
  190. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(VULKAN_FLAGS) -DDGL_VULKAN -c -ObjC++ -o $@
  191. # ---------------------------------------------------------------------------------------------------------------------
  192. clean:
  193. rm -rf ../build/dgl ../build/libdgl*.*
  194. debug:
  195. $(MAKE) DEBUG=true
  196. # ---------------------------------------------------------------------------------------------------------------------
  197. -include $(OBJS_common:%.o=%.d)
  198. -include $(OBJS_cairo:%.o=%.d)
  199. -include $(OBJS_opengl:%.o=%.d)
  200. -include $(OBJS_opengl3:%.o=%.d)
  201. -include $(OBJS_stub:%.o=%.d)
  202. -include $(OBJS_vulkan:%.o=%.d)
  203. # ---------------------------------------------------------------------------------------------------------------------