Audio plugin host https://kx.studio/carla
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.

203 lines
6.9KB

  1. #!/usr/bin/make -f
  2. # Makefile for theme #
  3. # ------------------ #
  4. # Created by falkTX
  5. #
  6. CWD=..
  7. MODULENAME=theme
  8. include ../modules/Makefile.mk
  9. # ---------------------------------------------------------------------------------------------------------------------
  10. ifeq ($(WINDOWS),true)
  11. NON_STATIC_LINK_FLAGS = $(shell echo $(LINK_FLAGS) | awk 'sub(" -static","")') -static-libgcc
  12. else
  13. NON_STATIC_LINK_FLAGS = $(LINK_FLAGS)
  14. endif
  15. ifeq ($(HAVE_QT4),true)
  16. QT4_CXX_FLAGS = $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags QtCore QtGui)
  17. QT4_LINK_FLAGS = $(NON_STATIC_LINK_FLAGS) $(shell pkg-config --libs QtCore QtGui)
  18. QT4_STYLES_DIR = $(shell pkg-config --variable=libdir QtCore)/qt4/plugins/styles
  19. endif
  20. ifeq ($(HAVE_QT5),true)
  21. QT5_CXX_FLAGS = $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
  22. QT5_LINK_FLAGS = $(NON_STATIC_LINK_FLAGS) $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets)
  23. QT5_STYLES_DIR = $(shell pkg-config --variable=libdir Qt5Core)/qt5/plugins/styles
  24. else ifeq ($(HAVE_QT5PKG),true)
  25. ifeq ($(MACOS),true)
  26. ifeq ($(HAVE_PYQT),true)
  27. HAVE_QT5 = true
  28. QT5_PREFIX = $(shell pkg-config --variable=prefix Qt5OpenGLExtensions)
  29. QT5_CXX_FLAGS = $(BUILD_CXX_FLAGS) -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -I $(QT5_PREFIX)/include/qt5
  30. QT5_LINK_FLAGS = $(NON_STATIC_LINK_FLAGS) -F $(QT5_PREFIX)/lib -framework QtCore -framework QtGui -framework QtWidgets
  31. QT5_STYLES_DIR = $(QT5_PREFIX)/lib/qt5/plugins/styles
  32. endif
  33. endif
  34. else ifeq ($(HAVE_QT5BREW),true)
  35. HAVE_QT5 = true
  36. QT5_PREFIX = /usr/local/opt/qt5
  37. QT5_CXX_FLAGS = $(BUILD_CXX_FLAGS) -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -I $(QT5_PREFIX)/include
  38. QT5_LINK_FLAGS = $(NON_STATIC_LINK_FLAGS) -F $(QT5_PREFIX)/lib -framework QtCore -framework QtGui -framework QtWidgets
  39. QT5_STYLES_DIR = $(QT5_PREFIX)/plugins/styles
  40. endif
  41. # ---------------------------------------------------------------------------------------------------------------------
  42. ifeq ($(HAVE_QT4),true)
  43. FILES_qt4 = \
  44. $(OBJDIR)/moc_CarlaStyle.qt4.cpp \
  45. $(OBJDIR)/moc_CarlaStyleAnimations.qt4.cpp \
  46. $(OBJDIR)/moc_CarlaStylePlugin.qt4.cpp \
  47. $(OBJDIR)/moc_CarlaStylePrivate.qt4.cpp \
  48. $(OBJDIR)/resources.qt4.cpp
  49. endif
  50. ifeq ($(HAVE_QT5),true)
  51. FILES_qt5 = \
  52. $(OBJDIR)/moc_CarlaStyle.qt5.cpp \
  53. $(OBJDIR)/moc_CarlaStyleAnimations.qt5.cpp \
  54. $(OBJDIR)/moc_CarlaStylePlugin.qt5.cpp \
  55. $(OBJDIR)/moc_CarlaStylePrivate.qt5.cpp \
  56. $(OBJDIR)/resources.qt5.cpp
  57. endif
  58. # ---------------------------------------------------------------------------------------------------------------------
  59. ifeq ($(HAVE_QT4),true)
  60. OBJS_qt4 = \
  61. $(OBJDIR)/CarlaStyle.cpp.qt4.o \
  62. $(OBJDIR)/moc_CarlaStyle.qt4.cpp.o \
  63. $(OBJDIR)/moc_CarlaStyleAnimations.qt4.cpp.o \
  64. $(OBJDIR)/moc_CarlaStylePrivate.qt4.cpp.o \
  65. $(OBJDIR)/resources.qt4.cpp.o
  66. OBJS_qt4_shared = $(OBJS_qt4) \
  67. $(OBJDIR)/CarlaStylePlugin.cpp.qt4.o \
  68. $(OBJDIR)/moc_CarlaStylePlugin.qt4.cpp.o
  69. endif
  70. ifeq ($(HAVE_QT5),true)
  71. OBJS_qt5 = \
  72. $(OBJDIR)/CarlaStyle.cpp.qt5.o \
  73. $(OBJDIR)/moc_CarlaStyle.qt5.cpp.o \
  74. $(OBJDIR)/moc_CarlaStyleAnimations.qt5.cpp.o \
  75. $(OBJDIR)/moc_CarlaStylePrivate.qt5.cpp.o \
  76. $(OBJDIR)/resources.qt5.cpp.o
  77. OBJS_qt5_shared = $(OBJS_qt5) \
  78. $(OBJDIR)/CarlaStylePlugin.cpp.qt5.o \
  79. $(OBJDIR)/moc_CarlaStylePlugin.qt5.cpp.o
  80. endif
  81. # ---------------------------------------------------------------------------------------------------------------------
  82. ifeq ($(HAVE_QT5),true)
  83. all: $(BINDIR)/styles/carlastyle$(LIB_EXT) $(BINDIR)/styles/carlastyle.json
  84. else
  85. all:
  86. endif
  87. qt4: $(MODULEDIR)/$(MODULENAME).qt4.a
  88. qt5: $(MODULEDIR)/$(MODULENAME).qt5.a
  89. # ---------------------------------------------------------------------------------------------------------------------
  90. clean:
  91. rm -f $(OBJDIR)/*.o $(MODULEDIR)/$(MODULENAME)*.a $(BINDIR)/styles/carlastyle$(LIB_EXT) $(FILES_qt4) $(FILES_qt5)
  92. debug:
  93. $(MAKE) DEBUG=true
  94. install: $(BINDIR)/styles/carlastyle$(LIB_EXT) $(BINDIR)/styles/carlastyle.json
  95. install -d $(QT5_STYLES_DIR)
  96. install -m 644 $^ $(QT5_STYLES_DIR)
  97. # ---------------------------------------------------------------------------------------------------------------------
  98. $(MODULEDIR)/$(MODULENAME).qt4.a: $(FILES_qt4) $(OBJS_qt4)
  99. -@mkdir -p $(MODULEDIR)
  100. @echo "Creating $(MODULENAME).qt4.a"
  101. $(SILENT)rm -f $@
  102. $(SILENT)$(AR) crs $@ $(OBJS_qt4)
  103. $(MODULEDIR)/$(MODULENAME).qt5.a: $(FILES_qt5) $(OBJS_qt5)
  104. -@mkdir -p $(MODULEDIR)
  105. @echo "Creating $(MODULENAME).qt5.a"
  106. $(SILENT)rm -f $@
  107. $(SILENT)$(AR) crs $@ $(OBJS_qt5)
  108. # ---------------------------------------------------------------------------------------------------------------------
  109. $(BINDIR)/styles/carlastyle.dll: $(FILES_qt5) $(OBJS_qt5_shared)
  110. -@mkdir -p $(BINDIR)/styles
  111. @echo "Linking carlastyle.dll"
  112. $(SILENT)$(CXX) $(OBJS_qt5_shared) $(QT5_LINK_FLAGS) -shared -o $@
  113. $(BINDIR)/styles/carlastyle.dylib: $(FILES_qt5) $(OBJS_qt5_shared)
  114. -@mkdir -p $(BINDIR)/styles
  115. @echo "Linking carlastyle.dylib"
  116. $(SILENT)$(CXX) $(OBJS_qt5_shared) $(QT5_LINK_FLAGS) -dynamiclib -o $@
  117. $(BINDIR)/styles/carlastyle.so: $(FILES_qt5) $(OBJS_qt5_shared)
  118. -@mkdir -p $(BINDIR)/styles
  119. @echo "Linking carlastyle.so"
  120. $(SILENT)$(CXX) $(OBJS_qt5_shared) $(QT5_LINK_FLAGS) -shared -o $@
  121. $(BINDIR)/styles/carlastyle.json: styles/carlastyle.json
  122. -@mkdir -p $(BINDIR)/styles
  123. $(SILENT)cp -f $< $@
  124. # ---------------------------------------------------------------------------------------------------------------------
  125. $(OBJDIR)/moc_%.qt4.cpp: %.hpp
  126. -@mkdir -p $(OBJDIR)
  127. @echo "Generating moc_$*.qt4.cpp"
  128. $(SILENT)$(MOC_QT4) $< -o $@
  129. $(OBJDIR)/moc_%.qt5.cpp: %.hpp
  130. -@mkdir -p $(OBJDIR)
  131. @echo "Generating moc_$*.qt5.cpp"
  132. $(SILENT)$(MOC_QT5) -Istyles $< -o $@
  133. $(OBJDIR)/resources.qt4.cpp: $(CWD)/../resources/resources-theme.qrc
  134. -@mkdir -p $(OBJDIR)
  135. @echo "Generating resources.qt4.cpp"
  136. $(SILENT)$(RCC_QT4) $< -o $@
  137. $(OBJDIR)/resources.qt5.cpp: $(CWD)/../resources/resources-theme.qrc
  138. -@mkdir -p $(OBJDIR)
  139. @echo "Generating resources.qt5.cpp"
  140. $(SILENT)$(RCC_QT5) $< -o $@
  141. # ---------------------------------------------------------------------------------------------------------------------
  142. $(OBJDIR)/%.qt4.cpp.o: $(OBJDIR)/%.qt4.cpp $(OBJDIR)/moc_CarlaStyle.qt4.cpp
  143. -@mkdir -p $(OBJDIR)
  144. @echo "Compiling $*.cpp (Qt4)"
  145. $(SILENT)$(CXX) $< $(QT4_CXX_FLAGS) -Wno-unused-variable -c -o $@
  146. $(OBJDIR)/%.qt5.cpp.o: $(OBJDIR)/%.qt5.cpp $(OBJDIR)/moc_CarlaStyle.qt5.cpp
  147. -@mkdir -p $(OBJDIR)
  148. @echo "Compiling $*.cpp (Qt5)"
  149. $(SILENT)$(CXX) $< $(QT5_CXX_FLAGS) -c -o $@
  150. $(OBJDIR)/%.cpp.qt4.o: %.cpp $(OBJDIR)/moc_CarlaStyle.qt4.cpp
  151. -@mkdir -p $(OBJDIR)
  152. @echo "Compiling $< (Qt4)"
  153. $(SILENT)$(CXX) $< $(QT4_CXX_FLAGS) -c -o $@
  154. $(OBJDIR)/%.cpp.qt5.o: %.cpp $(OBJDIR)/moc_CarlaStyle.qt5.cpp
  155. -@mkdir -p $(OBJDIR)
  156. @echo "Compiling $< (Qt5)"
  157. $(SILENT)$(CXX) $< $(QT5_CXX_FLAGS) -c -o $@
  158. # ---------------------------------------------------------------------------------------------------------------------
  159. -include $(OBJS_qt4_shared:%.o=%.d)
  160. -include $(OBJS_qt5_shared:%.o=%.d)
  161. # ---------------------------------------------------------------------------------------------------------------------