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 7.2KB

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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  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. # ZynAddSubFX
  22. ifeq ($(HAVE_ZYN_DEPS),true)
  23. ALL_C_FLAGS += -DWANT_ZYNADDSUBFX
  24. endif
  25. # --------------------------------------------------------------
  26. # Flags for MidiFile
  27. ifeq ($(HAVE_MF_DEPS),true)
  28. MF_CXX_FLAGS = $(BUILD_CXX_FLAGS)
  29. MF_CXX_FLAGS += $(shell pkg-config --cflags smf)
  30. endif
  31. # --------------------------------------------------------------
  32. # Flags for ZynAddSubFX
  33. ifeq ($(HAVE_ZYN_DEPS),true)
  34. ZYN_CXX_FLAGS = $(BUILD_CXX_FLAGS)
  35. ZYN_CXX_FLAGS += $(shell pkg-config --cflags fftw3 mxml zlib)
  36. ifneq ($(MACOS),true)
  37. ZYN_CXX_FLAGS += -DHAVE_SCHEDULER
  38. endif
  39. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  40. ZYN_CXX_FLAGS += -DNTK_GUI -DWANT_ZYNADDSUBFX_UI
  41. ZYN_CXX_FLAGS += $(shell pkg-config --cflags ntk_images ntk)
  42. endif
  43. endif
  44. # --------------------------------------------------------------
  45. # Set objects
  46. OBJS = _all.c.o
  47. # --------------------------------------------------------------
  48. # Simple plugins
  49. OBJS += \
  50. bypass.c.o \
  51. lfo.c.o \
  52. midi-gain.c.o \
  53. midi-split.c.o \
  54. midi-through.c.o \
  55. midi-transpose.c.o \
  56. nekofilter.c.o
  57. ifneq ($(WIN32),true)
  58. # --------------------------------------------------------------
  59. # External-UI plugins
  60. OBJS += \
  61. bigmeter.cpp.o \
  62. notes.cpp.o
  63. endif
  64. # --------------------------------------------------------------
  65. # DISTRHO plugins
  66. OBJS += \
  67. distrho-3bandeq.cpp.o \
  68. distrho-3bandsplitter.cpp.o \
  69. distrho-pingpongpan.cpp.o \
  70. distrho-nekobi.cpp.o
  71. # distrho-stereoenhancer.cpp.o
  72. ifeq ($(HAVE_JUCE),true)
  73. # --------------------------------------------------------------
  74. # JUCE based plugins
  75. OBJS += \
  76. juce-patchbay.cpp.o \
  77. vex-fx.cpp.o \
  78. vex-synth.cpp.o \
  79. vex-src.cpp.o
  80. endif
  81. # --------------------------------------------------------------
  82. # AudioFile
  83. ifeq ($(HAVE_AF_DEPS),true)
  84. OBJS += audio-file.cpp.o
  85. endif
  86. # --------------------------------------------------------------
  87. # MidiFile
  88. ifeq ($(HAVE_MF_DEPS),true)
  89. OBJS += midi-file.cpp.o
  90. endif
  91. # --------------------------------------------------------------
  92. # ZynAddSubFX
  93. ifeq ($(HAVE_ZYN_DEPS),true)
  94. OBJS += \
  95. zynaddsubfx-fx.cpp.o \
  96. zynaddsubfx-synth.cpp.o \
  97. zynaddsubfx-src.cpp.o
  98. ifeq ($(HAVE_ZYN_UI_DEPS),true)
  99. OBJS += zynaddsubfx-ui.cpp.o
  100. ZYN_UI_FILES_CPP = \
  101. zynaddsubfx/UI/ADnoteUI.cpp \
  102. zynaddsubfx/UI/BankUI.cpp \
  103. zynaddsubfx/UI/ConfigUI.cpp \
  104. zynaddsubfx/UI/EffUI.cpp \
  105. zynaddsubfx/UI/EnvelopeUI.cpp \
  106. zynaddsubfx/UI/FilterUI.cpp \
  107. zynaddsubfx/UI/LFOUI.cpp \
  108. zynaddsubfx/UI/MasterUI.cpp \
  109. zynaddsubfx/UI/MicrotonalUI.cpp \
  110. zynaddsubfx/UI/OscilGenUI.cpp \
  111. zynaddsubfx/UI/PADnoteUI.cpp \
  112. zynaddsubfx/UI/PartUI.cpp \
  113. zynaddsubfx/UI/PresetsUI.cpp \
  114. zynaddsubfx/UI/ResonanceUI.cpp \
  115. zynaddsubfx/UI/SUBnoteUI.cpp \
  116. zynaddsubfx/UI/VirKeyboard.cpp
  117. ZYN_UI_FILES_H = \
  118. zynaddsubfx/UI/ADnoteUI.h \
  119. zynaddsubfx/UI/BankUI.h \
  120. zynaddsubfx/UI/ConfigUI.h \
  121. zynaddsubfx/UI/EffUI.h \
  122. zynaddsubfx/UI/EnvelopeUI.h \
  123. zynaddsubfx/UI/FilterUI.h \
  124. zynaddsubfx/UI/LFOUI.h \
  125. zynaddsubfx/UI/MasterUI.h \
  126. zynaddsubfx/UI/MicrotonalUI.h \
  127. zynaddsubfx/UI/OscilGenUI.h \
  128. zynaddsubfx/UI/PADnoteUI.h \
  129. zynaddsubfx/UI/PartUI.h \
  130. zynaddsubfx/UI/PresetsUI.h \
  131. zynaddsubfx/UI/ResonanceUI.h \
  132. zynaddsubfx/UI/SUBnoteUI.h \
  133. zynaddsubfx/UI/VirKeyboard.h
  134. endif
  135. endif
  136. # --------------------------------------------------------------
  137. all: ../native-plugins.a
  138. # --------------------------------------------------------------
  139. ../native-plugins.a: $(OBJS)
  140. $(RM) $@
  141. $(AR) crs $@ $^
  142. ../libnative-plugins.dll: $(OBJS)
  143. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  144. ../libnative-plugins.dylib: $(OBJS)
  145. $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
  146. ../libnative-plugins.so: $(OBJS)
  147. $(CXX) $^ -shared $(LINK_FLAGS) -o $@
  148. # --------------------------------------------------------------
  149. CDEPS = ../CarlaNative.h
  150. _all.c.o: _all.c $(CDEPS)
  151. $(CC) $< $(ALL_C_FLAGS) -c -o $@
  152. bypass.c.o: bypass.c $(CDEPS)
  153. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  154. lfo.c.o: lfo.c $(CDEPS)
  155. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  156. midi-%.c.o: midi-%.c $(CDEPS)
  157. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  158. nekofilter.c.o: nekofilter.c nekofilter/*.c nekofilter/*.h $(CDEPS)
  159. $(CC) $< $(BUILD_C_FLAGS) -c -o $@
  160. # --------------------------------------------------------------
  161. CXXDEPS = ../CarlaNative.h ../CarlaNative.hpp
  162. audio-file.cpp.o: audio-file.cpp audio-base.hpp $(CXXDEPS)
  163. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  164. bigmeter.cpp.o: bigmeter.cpp $(CXXDEPS) ../CarlaNativeExtUI.hpp
  165. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  166. distrho-3bandeq.cpp.o: distrho-3bandeq.cpp 3bandeq/*.cpp 3bandeq/*.h 3bandeq/*.hpp ../distrho/* $(CXXDEPS)
  167. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -I3bandeq -DDISTRHO_NAMESPACE=DISTRHO_3BandEQ -c -o $@
  168. distrho-3bandsplitter.cpp.o: distrho-3bandsplitter.cpp 3bandsplitter/*.cpp 3bandsplitter/*.h 3bandsplitter/*.hpp ../distrho/* $(CXXDEPS)
  169. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -I3bandsplitter -DDISTRHO_NAMESPACE=DISTRHO_3BandSplitter -c -o $@
  170. distrho-nekobi.cpp.o: distrho-nekobi.cpp nekobi/*.cpp nekobi/*.h nekobi/*.hpp nekobi/nekobee-src/*.c nekobi/nekobee-src/*.h ../distrho/* $(CXXDEPS)
  171. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Inekobi -DDISTRHO_NAMESPACE=DISTRHO_Nekobi -c -o $@
  172. distrho-pingpongpan.cpp.o: distrho-pingpongpan.cpp pingpongpan/*.cpp pingpongpan/*.h pingpongpan/*.hpp ../distrho/* $(CXXDEPS)
  173. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Ipingpongpan -DDISTRHO_NAMESPACE=DISTRHO_PingPongPan -c -o $@
  174. distrho-stereoenhancer.cpp.o: distrho-stereoenhancer.cpp stereoenhancer/*.cpp stereoenhancer/*.h stereoenhancer/*.hpp ../distrho/* $(CXXDEPS)
  175. $(CXX) $< $(BUILD_CXX_FLAGS) -I../dgl -Istereoenhancer -DDISTRHO_NAMESPACE=DISTRHO_StereoEnhancer -c -o $@
  176. juce-patchbay.cpp.o: juce-patchbay.cpp
  177. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  178. midi-file.cpp.o: midi-file.cpp midi-base.hpp $(CXXDEPS)
  179. $(CXX) $< $(MF_CXX_FLAGS) -c -o $@
  180. midi-sequencer.cpp.o: midi-sequencer.cpp midi-base.hpp $(CXXDEPS)
  181. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  182. notes.cpp.o: notes.cpp $(CXXDEPS) ../CarlaNativeExtUI.hpp
  183. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  184. vex-%.cpp.o: vex-%.cpp
  185. $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
  186. zynaddsubfx-%.cpp.o: zynaddsubfx-%.cpp $(CXXDEPS) $(ZYN_UI_FILES_H)
  187. $(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@
  188. zynaddsubfx-src.cpp.o: zynaddsubfx-src.cpp $(ZYN_UI_FILES_H)
  189. $(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@
  190. zynaddsubfx-ui.cpp.o: zynaddsubfx-ui.cpp $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP)
  191. $(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@
  192. zynaddsubfx/UI/%.cpp: zynaddsubfx/UI/%.fl
  193. ntk-fluid -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<
  194. zynaddsubfx/UI/%.h: zynaddsubfx/UI/%.fl
  195. ntk-fluid -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<
  196. # --------------------------------------------------------------
  197. clean:
  198. $(RM) $(OBJS) ../native-plugins*.a ../libnative-plugins.*
  199. $(RM) $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP)
  200. debug:
  201. $(MAKE) DEBUG=true
  202. # --------------------------------------------------------------