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.

173 lines
5.7KB

  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. # 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/SubWidget.cpp.o \
  27. ../build/dgl/SubWidgetPrivateData.cpp.o \
  28. ../build/dgl/TopLevelWidget.cpp.o \
  29. ../build/dgl/TopLevelWidgetPrivateData.cpp.o \
  30. ../build/dgl/Widget.cpp.o \
  31. ../build/dgl/WidgetPrivateData.cpp.o \
  32. ../build/dgl/Window.cpp.o \
  33. ../build/dgl/WindowPrivateData.cpp.o
  34. # ../build/dgl/StandaloneWindow.cpp.o \
  35. # ../build/dgl/WindowFileBrowser.cpp.o
  36. # TODO: ImageWidgets.cpp
  37. # ---------------------------------------------------------------------------------------------------------------------
  38. OBJS_cairo = $(OBJS_common) \
  39. ../build/dgl/Cairo.cpp.cairo.o \
  40. ../build/dgl/pugl.cpp.cairo.o
  41. # ifeq ($(MACOS),true)
  42. # OBJS_cairo += ../build/dgl/Window.mm.cairo.o
  43. # else
  44. # OBJS_cairo += ../build/dgl/Window.cpp.cairo.o
  45. # endif
  46. # ---------------------------------------------------------------------------------------------------------------------
  47. OBJS_opengl = $(OBJS_common) \
  48. ../build/dgl/OpenGL.cpp.opengl.o \
  49. ../build/dgl/NanoVG.cpp.opengl.o \
  50. ../build/dgl/pugl.cpp.opengl.o
  51. # ../build/dgl/Image.cpp.opengl.o \
  52. # ../build/dgl/ImageWidgets.cpp.opengl.o \
  53. # ../build/dgl/WidgetPrivateData.cpp.opengl.o \
  54. # ../build/dgl/WindowPrivateData.cpp.opengl.o
  55. # ifeq ($(MACOS),true)
  56. # OBJS_opengl += ../build/dgl/Window.mm.opengl.o
  57. # else
  58. # OBJS_opengl += ../build/dgl/Window.cpp.opengl.o
  59. # endif
  60. # ---------------------------------------------------------------------------------------------------------------------
  61. ifeq ($(HAVE_CAIRO),true)
  62. TARGETS += ../build/libdgl-cairo.a
  63. endif
  64. ifeq ($(HAVE_OPENGL),true)
  65. TARGETS += ../build/libdgl-opengl.a
  66. # Compat name, to be removed soon
  67. TARGETS += ../build/libdgl.a
  68. endif
  69. # ---------------------------------------------------------------------------------------------------------------------
  70. all: $(TARGETS)
  71. # ---------------------------------------------------------------------------------------------------------------------
  72. ../build/libdgl-cairo.a: $(OBJS_cairo)
  73. -@mkdir -p ../build
  74. @echo "Creating libdgl-cairo.a"
  75. $(SILENT)rm -f $@
  76. $(SILENT)$(AR) crs $@ $^
  77. ../build/libdgl-opengl.a: $(OBJS_opengl)
  78. -@mkdir -p ../build
  79. @echo "Creating libdgl-opengl.a"
  80. $(SILENT)rm -f $@
  81. $(SILENT)$(AR) crs $@ $^
  82. # Compat name, to be removed soon
  83. ../build/libdgl.a: ../build/libdgl-opengl.a
  84. @echo "Symlinking libdgl.a"
  85. $(SILENT)ln -sf $< $@
  86. # ---------------------------------------------------------------------------------------------------------------------
  87. ../build/dgl/%.c.o: src/%.c
  88. -@mkdir -p ../build/dgl
  89. @echo "Compiling $<"
  90. $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@
  91. ../build/dgl/%.cpp.o: src/%.cpp
  92. -@mkdir -p ../build/dgl
  93. @echo "Compiling $<"
  94. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  95. # ---------------------------------------------------------------------------------------------------------------------
  96. ../build/dgl/%.cpp.cairo.o: src/%.cpp
  97. -@mkdir -p ../build/dgl
  98. @echo "Compiling $< (Cairo variant)"
  99. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  100. # ../build/dgl/Window.cpp.cairo.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  101. # -@mkdir -p ../build/dgl
  102. # @echo "Compiling $< (Cairo variant)"
  103. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@
  104. #
  105. # ../build/dgl/Window.mm.cairo.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  106. # -@mkdir -p ../build/dgl
  107. # @echo "Compiling $< (Cairo variant)"
  108. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -ObjC++ -c -o $@
  109. # ---------------------------------------------------------------------------------------------------------------------
  110. ../build/dgl/%.cpp.opengl.o: src/%.cpp
  111. -@mkdir -p ../build/dgl
  112. @echo "Compiling $< (OpenGL variant)"
  113. $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  114. # ../build/dgl/Window.cpp.opengl.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  115. # -@mkdir -p ../build/dgl
  116. # @echo "Compiling $< (OpenGL variant)"
  117. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@
  118. #
  119. # ../build/dgl/Window.mm.opengl.o: src/Window.cpp src/sofd/* src/pugl-upstream/*
  120. # -@mkdir -p ../build/dgl
  121. # @echo "Compiling $< (OpenGL variant)"
  122. # $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -ObjC++ -c -o $@
  123. # ---------------------------------------------------------------------------------------------------------------------
  124. clean:
  125. rm -rf ../build/dgl ../build/libdgl*.*
  126. debug:
  127. $(MAKE) DEBUG=true
  128. # ---------------------------------------------------------------------------------------------------------------------
  129. -include $(OBJS_common:%.o=%.d)
  130. -include $(OBJS_cairo:%.o=%.d)
  131. -include $(OBJS_opengl:%.o=%.d)
  132. # ---------------------------------------------------------------------------------------------------------------------