Collection of tools useful for audio production
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.

297 lines
11KB

  1. #!/usr/bin/make -f
  2. # Makefile for carla-bridges #
  3. # ---------------------------------------- #
  4. # Created by falkTX
  5. #
  6. CXX ?= g++
  7. WINECXX ?= wineg++
  8. STRIP ?= strip
  9. BASE_FLAGS = -O2 -ffast-math -fomit-frame-pointer -fPIC -mtune=generic -msse -mfpmath=sse -Wall
  10. BUILD_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS)
  11. BUILD_FLAGS += -I. -I../carla-includes $(shell pkg-config --cflags liblo QtCore)
  12. BUILD_FLAGS += -DBUILD_BRIDGE -DNDEBUG -DQT_NO_DEBUG -DQT_NO_DEBUG_STREAM -DQT_NO_DEBUG_OUTPUT
  13. BUILD_FLAGS += -DVESTIGE_HEADER -I../carla-includes/vestige # Comment this line to not use vestige header
  14. 32BIT_FLAGS = -m32
  15. 64BIT_FLAGS = -m64
  16. LINK_FLAGS = $(shell pkg-config --libs liblo QtCore)
  17. # --------------------------------------------------------------
  18. BUILD_PLUGIN_FLAGS = $(BUILD_FLAGS) -DBUILD_BRIDGE_PLUGIN -DCARLA_BACKEND_NO_EXPORTS -DCARLA_ENGINE_JACK $(shell pkg-config --cflags jack)
  19. LINK_PLUGIN_FLAGS = $(LINK_FLAGS) $(shell pkg-config --libs jack)
  20. UNIX_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) $(shell pkg-config --cflags QtGui)
  21. UNIX_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32 -L/usr/lib/i386-linux-gnu
  22. UNIX_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64 -L/usr/lib/x86_64-linux-gnu
  23. UNIX_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs QtGui) -ldl
  24. WIN_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) $(shell pkg-config --cflags QtGui)
  25. WIN_32BIT_FLAGS = $(32BIT_FLAGS)
  26. WIN_64BIT_FLAGS = $(64BIT_FLAGS)
  27. WIN_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) $(shell pkg-config --libs QtGui) -static
  28. WINE_BUILD_FLAGS = $(BUILD_PLUGIN_FLAGS) # -fpermissive
  29. WINE_32BIT_FLAGS = $(32BIT_FLAGS) -L/usr/lib32/wine -L/usr/lib/i386-linux-gnu/wine
  30. WINE_64BIT_FLAGS = $(64BIT_FLAGS) -L/usr/lib64/wine -L/usr/lib/x86_64-linux-gnu/wine
  31. WINE_LINK_FLAGS = $(LINK_PLUGIN_FLAGS) -ldl
  32. # --------------------------------------------------------------
  33. BUILD_UI_FLAGS = $(BUILD_FLAGS) -DBUILD_BRIDGE_UI
  34. LINK_UI_FLAGS = $(LINK_FLAGS) -ldl
  35. BUILD_UI_LV2_GTK2_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2 -DBRIDGE_LV2_GTK2 $(shell pkg-config --cflags gtk+-2.0)
  36. LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0)
  37. BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtGui)
  38. LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui)
  39. BUILD_UI_LV2_X11_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_LV2 -DBRIDGE_LV2_X11 $(shell pkg-config --cflags QtGui)
  40. LINK_UI_LV2_X11_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui)
  41. BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_FLAGS) -DBRIDGE_VST -DBRIDGE_VST_X11 $(shell pkg-config --cflags QtGui)
  42. LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui)
  43. # --------------------------------------------------------------
  44. all: ui
  45. ui: ui_lv2-gtk2 ui_lv2-qt4 ui_lv2-x11 ui_vst-x11
  46. ui_lv2-gtk2: carla-bridge-lv2-gtk2
  47. ui_lv2-qt4: carla-bridge-lv2-qt4
  48. ui_lv2-x11: carla-bridge-lv2-x11
  49. ui_vst-x11: carla-bridge-vst-x11
  50. unix32: carla-bridge-unix32
  51. unix64: carla-bridge-unix64
  52. win32: carla-bridge-win32.exe
  53. win64: carla-bridge-win64.exe
  54. wine32: carla-bridge-win32.exe.so
  55. wine64: carla-bridge-win64.exe.so
  56. # --------------------------------------------------------------
  57. # ui_lv2-gtk2
  58. OBJS_UI_LV2_GTK2 = carla_bridge_ui-lv2__lv2-gtk2.o carla_bridge_toolkit-gtk2__lv2-gtk2.o carla_bridge_osc__lv2-gtk2.o ../carla-lilv/carla_lilv.a
  59. carla-bridge-lv2-gtk2: $(OBJS_UI_LV2_GTK2)
  60. $(CXX) $^ $(LINK_UI_LV2_GTK2_FLAGS) -o $@ && $(STRIP) $@
  61. carla_bridge_ui-lv2__lv2-gtk2.o: carla_bridge_ui-lv2.cpp
  62. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  63. carla_bridge_toolkit-gtk2__lv2-gtk2.o: carla_bridge_toolkit-gtk2.cpp
  64. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  65. carla_bridge_osc__lv2-gtk2.o: carla_bridge_osc.cpp
  66. $(CXX) $< $(BUILD_UI_LV2_GTK2_FLAGS) -c -o $@
  67. # --------------------------------------------------------------
  68. # ui_lv2-qt4
  69. OBJS_UI_LV2_QT4 = carla_bridge_ui-lv2__lv2-qt4.o carla_bridge_toolkit-qt4__lv2-qt4.o carla_bridge_osc__lv2-qt4.o ../carla-lilv/carla_lilv.a
  70. carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4)
  71. $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@ && $(STRIP) $@
  72. carla_bridge_ui-lv2__lv2-qt4.o: carla_bridge_ui-lv2.cpp
  73. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -c -o $@
  74. carla_bridge_toolkit-qt4__lv2-qt4.o: carla_bridge_toolkit-qt4.cpp
  75. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -c -o $@
  76. carla_bridge_osc__lv2-qt4.o: carla_bridge_osc.cpp
  77. $(CXX) $< $(BUILD_UI_LV2_QT4_FLAGS) -c -o $@
  78. # --------------------------------------------------------------
  79. # ui_lv2-x11
  80. OBJS_UI_LV2_X11 = carla_bridge_ui-lv2__lv2-x11.o carla_bridge_toolkit-qt4__lv2-x11.o carla_bridge_osc__lv2-x11.o ../carla-lilv/carla_lilv.a
  81. carla-bridge-lv2-x11: $(OBJS_UI_LV2_X11)
  82. $(CXX) $^ $(LINK_UI_LV2_X11_FLAGS) -o $@ && $(STRIP) $@
  83. carla_bridge_ui-lv2__lv2-x11.o: carla_bridge_ui-lv2.cpp
  84. $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  85. carla_bridge_toolkit-qt4__lv2-x11.o: carla_bridge_toolkit-qt4.cpp
  86. $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  87. carla_bridge_osc__lv2-x11.o: carla_bridge_osc.cpp
  88. $(CXX) $< $(BUILD_UI_LV2_X11_FLAGS) -c -o $@
  89. # --------------------------------------------------------------
  90. # ui_vst-x11
  91. OBJS_UI_VST_X11 = carla_bridge_ui-vst__vst-x11.o carla_bridge_toolkit-qt4__vst-x11.o carla_bridge_osc__vst-x11.o
  92. carla-bridge-vst-x11: $(OBJS_UI_VST_X11)
  93. $(CXX) $^ $(LINK_UI_VST_X11_FLAGS) -o $@ && $(STRIP) $@
  94. carla_bridge_ui-vst__vst-x11.o: carla_bridge_ui-vst.cpp
  95. $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  96. carla_bridge_toolkit-qt4__vst-x11.o: carla_bridge_toolkit-qt4.cpp
  97. $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  98. carla_bridge_osc__vst-x11.o: carla_bridge_osc.cpp
  99. $(CXX) $< $(BUILD_UI_VST_X11_FLAGS) -c -o $@
  100. # --------------------------------------------------------------
  101. # unix32
  102. OBJS_UNIX32 = \
  103. carla_bridge_plugin__unix32.o carla_bridge_osc__unix32.o \
  104. carla_engine_jack__unix32.o carla_shared__unix32.o ladspa__unix32.o dssi__unix32.o lv2__unix32.o vst__unix32.o ../carla-lilv/carla_lilv_32bit.a
  105. carla-bridge-unix32: $(OBJS_UNIX32)
  106. $(CXX) $^ $(UNIX_LINK_FLAGS) $(UNIX_32BIT_FLAGS) -o $@ && $(STRIP) $@
  107. carla_bridge_plugin__unix32.o: carla_bridge_plugin.cpp
  108. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  109. carla_bridge_osc__unix32.o: carla_bridge_osc.cpp
  110. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  111. carla_engine_jack__unix32.o: ../carla-backend/carla_engine_jack.cpp
  112. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  113. carla_shared__unix32.o: ../carla-backend/carla_shared.cpp
  114. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  115. ladspa__unix32.o: ../carla-backend/ladspa.cpp
  116. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  117. dssi__unix32.o: ../carla-backend/dssi.cpp
  118. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  119. lv2__unix32.o: ../carla-backend/lv2.cpp
  120. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  121. vst__unix32.o: ../carla-backend/vst.cpp
  122. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_32BIT_FLAGS) -c -o $@
  123. # --------------------------------------------------------------
  124. # unix64
  125. OBJS_UNIX64 = \
  126. carla_bridge_plugin__unix64.o carla_bridge_osc__unix64.o \
  127. carla_engine_jack__unix64.o carla_shared__unix64.o ladspa__unix64.o dssi__unix64.o lv2__unix64.o vst__unix64.o ../carla-lilv/carla_lilv_64bit.a
  128. carla-bridge-unix64: $(OBJS_UNIX64)
  129. $(CXX) $^ $(UNIX_LINK_FLAGS) $(UNIX_64BIT_FLAGS) -o $@ && $(STRIP) $@
  130. carla_bridge_plugin__unix64.o: carla_bridge_plugin.cpp
  131. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  132. carla_bridge_osc__unix64.o: carla_bridge_osc.cpp
  133. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  134. carla_engine_jack__unix64.o: ../carla-backend/carla_engine_jack.cpp
  135. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  136. carla_shared__unix64.o: ../carla-backend/carla_shared.cpp
  137. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  138. ladspa__unix64.o: ../carla-backend/ladspa.cpp
  139. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  140. dssi__unix64.o: ../carla-backend/dssi.cpp
  141. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  142. lv2__unix64.o: ../carla-backend/lv2.cpp
  143. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  144. vst__unix64.o: ../carla-backend/vst.cpp
  145. $(CXX) $< $(UNIX_BUILD_FLAGS) $(UNIX_64BIT_FLAGS) -c -o $@
  146. # --------------------------------------------------------------
  147. # wine32
  148. OBJS_WINE32 = \
  149. carla_bridge_plugin__wine32.o carla_bridge_osc__wine32.o \
  150. carla_engine_jack__wine32.o carla_shared__wine32.o ladspa__wine32.o dssi__wine32.o lv2__wine32.o vst__wine32.o ../carla-lilv/carla_lilv_32bit.a
  151. carla-bridge-win32.exe.so: $(OBJS_WINE32)
  152. $(WINECXX) $^ $(WINE_LINK_FLAGS) $(WINE_32BIT_FLAGS) -o carla-bridge-win32 && $(STRIP) $@
  153. carla_bridge_plugin__wine32.o: carla_bridge_plugin.cpp
  154. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  155. carla_bridge_osc__wine32.o: carla_bridge_osc.cpp
  156. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  157. carla_engine_jack__wine32.o: ../carla-backend/carla_engine_jack.cpp
  158. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  159. carla_shared__wine32.o: ../carla-backend/carla_shared.cpp
  160. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  161. ladspa__wine32.o: ../carla-backend/ladspa.cpp
  162. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  163. dssi__wine32.o: ../carla-backend/dssi.cpp
  164. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  165. lv2__wine32.o: ../carla-backend/lv2.cpp
  166. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  167. vst__wine32.o: ../carla-backend/vst.cpp
  168. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_32BIT_FLAGS) -c -o $@
  169. # --------------------------------------------------------------
  170. # wine64
  171. OBJS_WINE64 = \
  172. carla_bridge_plugin__wine64.o carla_bridge_osc__wine64.o \
  173. carla_engine_jack__wine64.o carla_shared__wine64.o ladspa__wine64.o dssi__wine64.o lv2__wine64.o vst__wine64.o ../carla-lilv/carla_lilv_64bit.a
  174. carla-bridge-win64.exe.so: $(OBJS_WINE64)
  175. $(WINECXX) $^ $(WINE_LINK_FLAGS) $(WINE_64BIT_FLAGS) -o carla-bridge-win64 && $(STRIP) $@
  176. carla_bridge_plugin__wine64.o: carla_bridge_plugin.cpp
  177. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  178. carla_bridge_osc__wine64.o: carla_bridge_osc.cpp
  179. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  180. carla_engine_jack__wine64.o: ../carla-backend/carla_engine_jack.cpp
  181. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  182. carla_shared__wine64.o: ../carla-backend/carla_shared.cpp
  183. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  184. ladspa__wine64.o: ../carla-backend/ladspa.cpp
  185. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  186. dssi__wine64.o: ../carla-backend/dssi.cpp
  187. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  188. lv2__wine64.o: ../carla-backend/lv2.cpp
  189. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  190. vst__wine64.o: ../carla-backend/vst.cpp
  191. $(WINECXX) $< $(WINE_BUILD_FLAGS) $(WINE_64BIT_FLAGS) -c -o $@
  192. # --------------------------------------------------------------
  193. ../carla-lilv/carla_lilv_32bit.a:
  194. $(MAKE) -C ../carla-lilv 32bit
  195. ../carla-lilv/carla_lilv_64bit.a:
  196. $(MAKE) -C ../carla-lilv 64bit
  197. # --------------------------------------------------------------
  198. doc: carla_bridge.doxygen
  199. doxygen $<
  200. clean:
  201. rm -f *.o *.so *.exe
  202. rm -f carla-bridge-lv2-gtk2 carla-bridge-lv2-qt4 carla-bridge-lv2-x11 carla-bridge-vst-x11
  203. rm -f carla-bridge-unix32 carla-bridge-unix64