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.

Makefile 11KB

11 years ago
11 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
10 years ago
11 years ago
10 years ago
10 years ago
11 years ago
10 years ago
11 years ago
11 years ago
11 years ago
10 years ago
10 years ago
10 years ago
11 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
10 years ago
11 years ago
10 years ago
11 years ago
10 years ago
10 years ago
11 years ago
10 years ago
10 years ago
11 years ago
11 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. #!/usr/bin/make -f
  2. # Makefile for native-plugins #
  3. # --------------------------- #
  4. # Created by falkTX
  5. #
  6. include ../../Makefile.mk
  7. # --------------------------------------------------------------
  8. BUILD_C_FLAGS += -I. -I../../includes -isystem ..
  9. BUILD_CXX_FLAGS += -I. -I../../includes -I../../utils -I../distrho -isystem ..
  10. # --------------------------------------------------------------
  11. # Flags for _all.c
  12. ALL_C_FLAGS = $(BUILD_C_FLAGS)
  13. # AudioFile
  14. ifeq ($(HAVE_AF_DEPS),true)
  15. ALL_C_FLAGS += -DWANT_AUDIOFILE
  16. endif
  17. # MidiFile
  18. ifeq ($(HAVE_MF_DEPS),true)
  19. ALL_C_FLAGS += -DWANT_MIDIFILE
  20. endif
  21. # ProjectM
  22. ifeq ($(HAVE_PM_DEPS),true)
  23. ALL_C_FLAGS += -DWANT_PROJECTM
  24. endif
  25. # ZynAddSubFX
  26. ifeq ($(HAVE_ZYN_DEPS),true)
  27. ALL_C_FLAGS += -DWANT_ZYNADDSUBFX
  28. endif
  29. # --------------------------------------------------------------
  30. # Flags for MidiFile
  31. ifeq ($(HAVE_MF_DEPS),true)
  32. MF_CXX_FLAGS = $(BUILD_CXX_FLAGS)
  33. MF_CXX_FLAGS += $(shell pkg-config --cflags smf)
  34. endif
  35. # --------------------------------------------------------------
  36. # Flags for ProjectM
  37. ifeq ($(HAVE_PM_DEPS),true)
  38. PM_CXX_FLAGS = $(BUILD_CXX_FLAGS)
  39. PM_CXX_FLAGS += $(shell pkg-config --cflags libprojectM)
  40. endif
  41. # --------------------------------------------------------------
  42. # Flags for ZynAddSubFX
  43. ifeq ($(HAVE_ZYN_DEPS),true)
  44. ZYN_CXX_FLAGS = $(BUILD_CXX_FLAGS)
  45. ZYN_CXX_FLAGS += $(shell pkg-config --cflags fftw3 mxml zlib)
  46. ifneq ($(MACOS),true)
  47. ZYN_CXX_FLAGS += -DHAVE_SCHEDULER
  48. endif
  49. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  50. ZYN_CXX_FLAGS += -DNTK_GUI -DWANT_ZYNADDSUBFX_UI
  51. ZYN_CXX_FLAGS += $(shell pkg-config --cflags ntk_images ntk)
  52. endif
  53. endif
  54. # --------------------------------------------------------------
  55. # Set objects
  56. OBJS = _all.c.o
  57. # --------------------------------------------------------------
  58. # Simple plugins
  59. OBJS += \
  60. bypass.c.o \
  61. lfo.c.o \
  62. midi-gain.c.o \
  63. midi-split.c.o \
  64. midi-through.c.o \
  65. midi-transpose.c.o \
  66. nekofilter.c.o
  67. ifneq ($(WIN32),true)
  68. # --------------------------------------------------------------
  69. # External-UI plugins
  70. OBJS += \
  71. bigmeter.cpp.o \
  72. notes.cpp.o
  73. endif
  74. # --------------------------------------------------------------
  75. # DISTRHO plugins
  76. OBJS += \
  77. distrho-3bandeq.cpp.o \
  78. distrho-3bandsplitter.cpp.o \
  79. distrho-pingpongpan.cpp.o \
  80. distrho-nekobi.cpp.o
  81. # distrho-stereoenhancer.cpp.o
  82. OBJS += \
  83. distrho-groovejuice.cpp.o \
  84. distrho-powerjuice.cpp.o \
  85. distrho-segmentjuice.cpp.o \
  86. distrho-vectorjuice.cpp.o \
  87. distrho-wobblejuice.cpp.o
  88. OBJS += \
  89. distrho-zamcomp.cpp.o \
  90. distrho-zamcompx2.cpp.o \
  91. distrho-zameq2.cpp.o \
  92. distrho-zamsynth.cpp.o \
  93. distrho-zamtube.cpp.o \
  94. distrho-zamulticomp.cpp.o \
  95. distrho-zamulticompx2.cpp.o
  96. ifeq ($(HAVE_JUCE),true)
  97. # --------------------------------------------------------------
  98. # JUCE based plugins
  99. OBJS += \
  100. juce-patchbay.cpp.o \
  101. vex-fx.cpp.o \
  102. vex-synth.cpp.o \
  103. vex-src.cpp.o
  104. endif
  105. # --------------------------------------------------------------
  106. # AudioFile
  107. ifeq ($(HAVE_AF_DEPS),true)
  108. OBJS += audio-file.cpp.o
  109. endif
  110. # --------------------------------------------------------------
  111. # MidiFile
  112. ifeq ($(HAVE_MF_DEPS),true)
  113. OBJS += midi-file.cpp.o
  114. endif
  115. # --------------------------------------------------------------
  116. # ProjectM
  117. ifeq ($(HAVE_PM_DEPS),true)
  118. OBJS += projectm.cpp.o
  119. endif
  120. # --------------------------------------------------------------
  121. # ZynAddSubFX
  122. ifeq ($(HAVE_ZYN_DEPS),true)
  123. OBJS += \
  124. zynaddsubfx-fx.cpp.o \
  125. zynaddsubfx-synth.cpp.o \
  126. zynaddsubfx-src.cpp.o
  127. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  128. OBJS += zynaddsubfx-ui.cpp.o
  129. ZYN_UI_FILES_CPP = \
  130. zynaddsubfx/UI/ADnoteUI.cpp \
  131. zynaddsubfx/UI/BankUI.cpp \
  132. zynaddsubfx/UI/ConfigUI.cpp \
  133. zynaddsubfx/UI/EffUI.cpp \
  134. zynaddsubfx/UI/EnvelopeUI.cpp \
  135. zynaddsubfx/UI/FilterUI.cpp \
  136. zynaddsubfx/UI/LFOUI.cpp \
  137. zynaddsubfx/UI/MasterUI.cpp \
  138. zynaddsubfx/UI/MicrotonalUI.cpp \
  139. zynaddsubfx/UI/OscilGenUI.cpp \
  140. zynaddsubfx/UI/PADnoteUI.cpp \
  141. zynaddsubfx/UI/PartUI.cpp \
  142. zynaddsubfx/UI/PresetsUI.cpp \
  143. zynaddsubfx/UI/ResonanceUI.cpp \
  144. zynaddsubfx/UI/SUBnoteUI.cpp \
  145. zynaddsubfx/UI/VirKeyboard.cpp
  146. ZYN_UI_FILES_H = \
  147. zynaddsubfx/UI/ADnoteUI.h \
  148. zynaddsubfx/UI/BankUI.h \
  149. zynaddsubfx/UI/ConfigUI.h \
  150. zynaddsubfx/UI/EffUI.h \
  151. zynaddsubfx/UI/EnvelopeUI.h \
  152. zynaddsubfx/UI/FilterUI.h \
  153. zynaddsubfx/UI/LFOUI.h \
  154. zynaddsubfx/UI/MasterUI.h \
  155. zynaddsubfx/UI/MicrotonalUI.h \
  156. zynaddsubfx/UI/OscilGenUI.h \
  157. zynaddsubfx/UI/PADnoteUI.h \
  158. zynaddsubfx/UI/PartUI.h \
  159. zynaddsubfx/UI/PresetsUI.h \
  160. zynaddsubfx/UI/ResonanceUI.h \
  161. zynaddsubfx/UI/SUBnoteUI.h \
  162. zynaddsubfx/UI/VirKeyboard.h
  163. endif
  164. endif
  165. # --------------------------------------------------------------
  166. all: ../native-plugins.a
  167. # --------------------------------------------------------------
  168. ../native-plugins.a: $(OBJS)
  169. $(RM) $@
  170. $(AR) crs $@ $^
  171. ../libnative-plugins.dll: $(OBJS)
  172. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  173. ../libnative-plugins.dylib: $(OBJS)
  174. $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
  175. ../libnative-plugins.so: $(OBJS)
  176. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  177. # --------------------------------------------------------------
  178. CDEPS = ../CarlaNative.h
  179. _all.c.o: _all.c $(CDEPS)
  180. $(CC) $< $(ALL_C_FLAGS) -c -o $@
  181. bypass.c.o: bypass.c $(CDEPS)
  182. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  183. lfo.c.o: lfo.c $(CDEPS)
  184. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  185. midi-%.c.o: midi-%.c $(CDEPS)
  186. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  187. nekofilter.c.o: nekofilter.c nekofilter/*.c nekofilter/*.h $(CDEPS)
  188. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  189. # --------------------------------------------------------------
  190. CXXDEPS = ../CarlaNative.h ../CarlaNative.hpp
  191. audio-file.cpp.o: audio-file.cpp audio-base.hpp $(CXXDEPS)
  192. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  193. bigmeter.cpp.o: bigmeter.cpp $(CXXDEPS) ../CarlaNativeExtUI.hpp
  194. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  195. distrho-3bandeq.cpp.o: distrho-3bandeq.cpp 3bandeq/*.cpp 3bandeq/*.h 3bandeq/*.hpp ../distrho/* $(CXXDEPS)
  196. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -I3bandeq -DDISTRHO_NAMESPACE=DISTRHO_3BandEQ -c -o $@
  197. distrho-3bandsplitter.cpp.o: distrho-3bandsplitter.cpp 3bandsplitter/*.cpp 3bandsplitter/*.h 3bandsplitter/*.hpp ../distrho/* $(CXXDEPS)
  198. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -I3bandsplitter -DDISTRHO_NAMESPACE=DISTRHO_3BandSplitter -c -o $@
  199. distrho-nekobi.cpp.o: distrho-nekobi.cpp nekobi/*.cpp nekobi/*.h nekobi/*.hpp nekobi/nekobee-src/*.c nekobi/nekobee-src/*.h ../distrho/* $(CXXDEPS)
  200. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Inekobi -DDISTRHO_NAMESPACE=DISTRHO_Nekobi -c -o $@
  201. distrho-pingpongpan.cpp.o: distrho-pingpongpan.cpp pingpongpan/*.cpp pingpongpan/*.h pingpongpan/*.hpp ../distrho/* $(CXXDEPS)
  202. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Ipingpongpan -DDISTRHO_NAMESPACE=DISTRHO_PingPongPan -c -o $@
  203. distrho-stereoenhancer.cpp.o: distrho-stereoenhancer.cpp stereoenhancer/*.cpp stereoenhancer/*.h stereoenhancer/*.hpp ../distrho/* $(CXXDEPS)
  204. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Istereoenhancer -DDISTRHO_NAMESPACE=DISTRHO_StereoEnhancer -c -o $@
  205. distrho-groovejuice.cpp.o: distrho-groovejuice.cpp groovejuice/*.cpp groovejuice/*.h groovejuice/*.hpp groovejuice/*.hxx ../distrho/* $(CXXDEPS)
  206. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Igroovejuice -DDISTRHO_NAMESPACE=DISTRHO_GrooveJuice -c -o $@
  207. distrho-powerjuice.cpp.o: distrho-powerjuice.cpp powerjuice/*.cpp powerjuice/*.h powerjuice/*.hpp ../distrho/* $(CXXDEPS)
  208. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Ipowerjuice -DDISTRHO_NAMESPACE=DISTRHO_PowerJuice -c -o $@
  209. distrho-segmentjuice.cpp.o: distrho-segmentjuice.cpp segmentjuice/*.cpp segmentjuice/*.h segmentjuice/*.hpp segmentjuice/*.hxx ../distrho/* $(CXXDEPS)
  210. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Isegmentjuice -DDISTRHO_NAMESPACE=DISTRHO_SegmentJuice -c -o $@
  211. distrho-vectorjuice.cpp.o: distrho-vectorjuice.cpp vectorjuice/*.cpp vectorjuice/*.h vectorjuice/*.hpp ../distrho/* $(CXXDEPS)
  212. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Ivectorjuice -DDISTRHO_NAMESPACE=DISTRHO_VectorJuice -c -o $@
  213. distrho-wobblejuice.cpp.o: distrho-wobblejuice.cpp wobblejuice/*.cpp wobblejuice/*.h wobblejuice/*.hpp wobblejuice/*.hxx ../distrho/* $(CXXDEPS)
  214. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Iwobblejuice -DDISTRHO_NAMESPACE=DISTRHO_WobbleJuice -c -o $@
  215. distrho-zamcomp.cpp.o: distrho-zamcomp.cpp zamcomp/*.cpp zamcomp/*.h zamcomp/*.hpp ../distrho/* $(CXXDEPS)
  216. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izamcomp -DDISTRHO_NAMESPACE=DISTRHO_ZamComp -c -o $@
  217. distrho-zamcompx2.cpp.o: distrho-zamcompx2.cpp zamcompx2/*.cpp zamcompx2/*.h zamcompx2/*.hpp ../distrho/* $(CXXDEPS)
  218. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izamcompx2 -DDISTRHO_NAMESPACE=DISTRHO_ZamCompX2 -c -o $@
  219. distrho-zameq2.cpp.o: distrho-zameq2.cpp zameq2/*.cpp zameq2/*.h zameq2/*.hpp ../distrho/* $(CXXDEPS)
  220. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izameq2 -DDISTRHO_NAMESPACE=DISTRHO_ZamEQ2 -c -o $@
  221. distrho-zamsynth.cpp.o: distrho-zamsynth.cpp zamsynth/*.cpp zamsynth/*.h zamsynth/*.hpp ../distrho/* $(CXXDEPS)
  222. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izamsynth -DDISTRHO_NAMESPACE=DISTRHO_ZamSynth -c -o $@
  223. distrho-zamtube.cpp.o: distrho-zamtube.cpp zamtube/*.cpp zamtube/*.h zamtube/*.hpp ../distrho/* $(CXXDEPS)
  224. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izamtube -DDISTRHO_NAMESPACE=DISTRHO_ZamTube -c -o $@
  225. distrho-zamulticomp.cpp.o: distrho-zamulticomp.cpp zamulticomp/*.cpp zamulticomp/*.h zamulticomp/*.hpp ../distrho/* $(CXXDEPS)
  226. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izamulticomp -DDISTRHO_NAMESPACE=DISTRHO_ZaMultiComp -c -o $@
  227. distrho-zamulticompx2.cpp.o: distrho-zamulticompx2.cpp zamulticompx2/*.cpp zamulticompx2/*.h zamulticompx2/*.hpp ../distrho/* $(CXXDEPS)
  228. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Izamulticompx2 -DDISTRHO_NAMESPACE=DISTRHO_ZaMultiCompX2 -c -o $@
  229. juce-patchbay.cpp.o: juce-patchbay.cpp
  230. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  231. midi-file.cpp.o: midi-file.cpp midi-base.hpp $(CXXDEPS)
  232. $(CXX) $< $(MF_CXX_FLAGS) -c -o $@
  233. midi-sequencer.cpp.o: midi-sequencer.cpp midi-base.hpp $(CXXDEPS)
  234. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  235. projectm.cpp.o: projectm.cpp $(CXXDEPS)
  236. $(CXX) $< $(PM_CXX_FLAGS) -c -o $@
  237. notes.cpp.o: notes.cpp $(CXXDEPS) ../CarlaNativeExtUI.hpp
  238. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  239. vex-%.cpp.o: vex-%.cpp
  240. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  241. zynaddsubfx-%.cpp.o: zynaddsubfx-%.cpp $(CXXDEPS) $(ZYN_UI_FILES_H)
  242. $(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@
  243. zynaddsubfx-src.cpp.o: zynaddsubfx-src.cpp $(ZYN_UI_FILES_H)
  244. $(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@
  245. zynaddsubfx-ui.cpp.o: zynaddsubfx-ui.cpp $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP)
  246. $(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@
  247. zynaddsubfx/UI/%.cpp: zynaddsubfx/UI/%.fl
  248. ntk-fluid -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<
  249. zynaddsubfx/UI/%.h: zynaddsubfx/UI/%.fl
  250. ntk-fluid -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<
  251. # --------------------------------------------------------------
  252. clean:
  253. $(RM) *.o ../native-plugins*.a ../libnative-plugins.*
  254. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  255. $(RM) $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP)
  256. endif
  257. debug:
  258. $(MAKE) DEBUG=true
  259. # --------------------------------------------------------------