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.

309 lines
12KB

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