1#!/usr/bin/make -f
2# Makefile for carla-bridges-plugin #
3# --------------------------------- #
4# Created by falkTX
5#
6
7CWD=..
8MODULENAME=carla-bridge
9include $(CWD)/Makefile.mk
10
11# Workaround GCC bug
12ifeq ($(TESTBUILD),true)
13ifeq ($(USING_JUCE),true)
14BUILD_CXX_FLAGS += -Wno-undef
15# FIXME
16BUILD_CXX_FLAGS += -Wno-deprecated-declarations
17endif
18endif
19
20# ---------------------------------------------------------------------------------------------------------------------
21
22BINDIR    := $(CWD)/../bin
23
24ifeq ($(DEBUG),true)
25OBJDIR    := $(CWD)/../build/bridges-plugin/Debug
26MODULEDIR := $(CWD)/../build/modules/Debug
27else
28OBJDIR    := $(CWD)/../build/bridges-plugin/Release
29MODULEDIR := $(CWD)/../build/modules/Release
30endif
31
32# ---------------------------------------------------------------------------------------------------------------------
33
34BUILD_CXX_FLAGS += -DBUILD_BRIDGE -I. -I$(CWD) -I$(CWD)/backend -I$(CWD)/includes -I$(CWD)/modules -I$(CWD)/utils
35BUILD_CXX_FLAGS += -I$(CWD)/backend/engine -I$(CWD)/backend/plugin
36
3732BIT_FLAGS += -DBUILD_BRIDGE_ALTERNATIVE_ARCH
3864BIT_FLAGS += -DBUILD_BRIDGE_ALTERNATIVE_ARCH
39ARM32_FLAGS += -DBUILD_BRIDGE_ALTERNATIVE_ARCH
40
41# ---------------------------------------------------------------------------------------------------------------------
42
43LIBS_native   = $(MODULEDIR)/jackbridge.a
44LIBS_arm32    = $(MODULEDIR)/jackbridge.arm32.a
45LIBS_posix32  = $(MODULEDIR)/jackbridge.posix32.a
46LIBS_posix64  = $(MODULEDIR)/jackbridge.posix64.a
47ifeq ($(BUILDING_FOR_WINE),true)
48LIBS_win32    = $(MODULEDIR)/jackbridge.win32e.a
49LIBS_win64    = $(MODULEDIR)/jackbridge.win64e.a
50else
51LIBS_win32    = $(MODULEDIR)/jackbridge.win32.a
52LIBS_win64    = $(MODULEDIR)/jackbridge.win64.a
53endif
54LINK_FLAGS   += $(JACKBRIDGE_LIBS)
55
56LIBS_native  += $(MODULEDIR)/lilv.a
57LIBS_arm32   += $(MODULEDIR)/lilv.arm32.a
58LIBS_posix32 += $(MODULEDIR)/lilv.posix32.a
59LIBS_posix64 += $(MODULEDIR)/lilv.posix64.a
60LIBS_win32   += $(MODULEDIR)/lilv.win32.a
61LIBS_win64   += $(MODULEDIR)/lilv.win64.a
62LINK_FLAGS   += $(LILV_LIBS)
63
64LIBS_native  += $(MODULEDIR)/rtmempool.a
65LIBS_arm32   += $(MODULEDIR)/rtmempool.arm32.a
66LIBS_posix32 += $(MODULEDIR)/rtmempool.posix32.a
67LIBS_posix64 += $(MODULEDIR)/rtmempool.posix64.a
68LIBS_win32   += $(MODULEDIR)/rtmempool.win32.a
69LIBS_win64   += $(MODULEDIR)/rtmempool.win64.a
70LINK_FLAGS   += $(RTMEMPOOL_LIBS)
71
72LIBS_native  += $(MODULEDIR)/water.a
73LIBS_arm32   += $(MODULEDIR)/water.arm32.a
74LIBS_posix32 += $(MODULEDIR)/water.posix32.a
75LIBS_posix64 += $(MODULEDIR)/water.posix64.a
76LIBS_win32   += $(MODULEDIR)/water.win32.a
77LIBS_win64   += $(MODULEDIR)/water.win64.a
78LINK_FLAGS   += $(WATER_LIBS)
79
80ifeq ($(USING_JUCE),true)
81LIBS_native  += $(MODULEDIR)/juce_audio_basics.a
82LIBS_posix32 += $(MODULEDIR)/juce_audio_basics.posix32.a
83LIBS_posix64 += $(MODULEDIR)/juce_audio_basics.posix64.a
84LIBS_win32   += $(MODULEDIR)/juce_audio_basics.win32.a
85LIBS_win64   += $(MODULEDIR)/juce_audio_basics.win64.a
86LINK_FLAGS   += $(JUCE_AUDIO_BASICS_LIBS)
87
88LIBS_native  += $(MODULEDIR)/juce_audio_processors.a
89LIBS_posix32 += $(MODULEDIR)/juce_audio_processors.posix32.a
90LIBS_posix64 += $(MODULEDIR)/juce_audio_processors.posix64.a
91LIBS_win32   += $(MODULEDIR)/juce_audio_processors.win32.a
92LIBS_win64   += $(MODULEDIR)/juce_audio_processors.win64.a
93LINK_FLAGS   += $(JUCE_AUDIO_PROCESSORS_LIBS)
94
95LIBS_native  += $(MODULEDIR)/juce_core.a
96LIBS_posix32 += $(MODULEDIR)/juce_core.posix32.a
97LIBS_posix64 += $(MODULEDIR)/juce_core.posix64.a
98LIBS_win32   += $(MODULEDIR)/juce_core.win32.a
99LIBS_win64   += $(MODULEDIR)/juce_core.win64.a
100LINK_FLAGS   += $(JUCE_CORE_LIBS)
101
102LIBS_native  += $(MODULEDIR)/juce_data_structures.a
103LIBS_posix32 += $(MODULEDIR)/juce_data_structures.posix32.a
104LIBS_posix64 += $(MODULEDIR)/juce_data_structures.posix64.a
105LIBS_win32   += $(MODULEDIR)/juce_data_structures.win32.a
106LIBS_win64   += $(MODULEDIR)/juce_data_structures.win64.a
107LINK_FLAGS   += $(JUCE_DATA_STRUCTURES_LIBS)
108
109LIBS_native  += $(MODULEDIR)/juce_events.a
110LIBS_posix32 += $(MODULEDIR)/juce_events.posix32.a
111LIBS_posix64 += $(MODULEDIR)/juce_events.posix64.a
112LIBS_win32   += $(MODULEDIR)/juce_events.win32.a
113LIBS_win64   += $(MODULEDIR)/juce_events.win64.a
114LINK_FLAGS   += $(JUCE_EVENTS_LIBS)
115
116LIBS_native  += $(MODULEDIR)/juce_graphics.a
117LIBS_posix32 += $(MODULEDIR)/juce_graphics.posix32.a
118LIBS_posix64 += $(MODULEDIR)/juce_graphics.posix64.a
119LIBS_win32   += $(MODULEDIR)/juce_graphics.win32.a
120LIBS_win64   += $(MODULEDIR)/juce_graphics.win64.a
121LINK_FLAGS   += $(JUCE_GRAPHICS_LIBS)
122
123LIBS_native  += $(MODULEDIR)/juce_gui_basics.a
124LIBS_posix32 += $(MODULEDIR)/juce_gui_basics.posix32.a
125LIBS_posix64 += $(MODULEDIR)/juce_gui_basics.posix64.a
126LIBS_win32   += $(MODULEDIR)/juce_gui_basics.win32.a
127LIBS_win64   += $(MODULEDIR)/juce_gui_basics.win64.a
128LINK_FLAGS   += $(JUCE_GUI_BASICS_LIBS)
129
130ifeq ($(USING_JUCE_GUI_EXTRA),true)
131LIBS_native  += $(MODULEDIR)/juce_gui_extra.a
132LIBS_posix32 += $(MODULEDIR)/juce_gui_extra.posix32.a
133LIBS_posix64 += $(MODULEDIR)/juce_gui_extra.posix64.a
134LINK_FLAGS   += $(JUCE_GUI_EXTRA_LIBS)
135endif
136endif
137
138ifeq ($(JACKBRIDGE_DIRECT),true)
139LINK_FLAGS += $(JACK_LIBS)
140endif
141
142LINK_FLAGS += $(X11_LIBS)
143
144# ---------------------------------------------------------------------------------------------------------------------
145
146NATIVE_BUILD_FLAGS  = $(NATIVE_PLUGINS_FLAGS)
147NATIVE_LINK_FLAGS   = $(NATIVE_PLUGINS_LIBS)
148
149NATIVE_BUILD_FLAGS += $(LIBLO_FLAGS)
150NATIVE_LINK_FLAGS  += $(LIBLO_LIBS)
151
152NATIVE_BUILD_FLAGS += $(FLUIDSYNTH_FLAGS)
153NATIVE_LINK_FLAGS  += $(FLUIDSYNTH_LIBS)
154
155NATIVE_LINK_FLAGS  += $(MAGIC_LIBS)
156
157LIBS_native        += $(MODULEDIR)/audio_decoder.a
158LIBS_native        += $(MODULEDIR)/native-plugins.a
159LIBS_native        += $(MODULEDIR)/sfzero.a
160LIBS_native        += $(MODULEDIR)/zita-resampler.a
161
162ifeq ($(HAVE_DGL),true)
163LIBS_native        += $(MODULEDIR)/dgl.a
164endif
165
166ifeq ($(WIN32),true)
167EXTRA_LINK_FLAGS   += -lole32 -lssp -mwindows
168endif
169
170# ---------------------------------------------------------------------------------------------------------------------
171
172OBJS_native = \
173	$(OBJDIR)/CarlaBridgePlugin.cpp.o \
174	$(OBJDIR)/CarlaEngine.cpp.o \
175	$(OBJDIR)/CarlaEngineClient.cpp.o \
176	$(OBJDIR)/CarlaEngineData.cpp.o \
177	$(OBJDIR)/CarlaEngineDummy.cpp.o \
178	$(OBJDIR)/CarlaEngineGraph.cpp.o \
179	$(OBJDIR)/CarlaEngineInternal.cpp.o \
180	$(OBJDIR)/CarlaEngineNative.cpp.o \
181	$(OBJDIR)/CarlaEngineOscSend.cpp.o \
182	$(OBJDIR)/CarlaEnginePorts.cpp.o \
183	$(OBJDIR)/CarlaEngineThread.cpp.o \
184	$(OBJDIR)/CarlaEngineJack.cpp.o \
185	$(OBJDIR)/CarlaEngineBridge.cpp.o \
186	$(OBJDIR)/CarlaPlugin.cpp.o \
187	$(OBJDIR)/CarlaPluginBridge.cpp.o \
188	$(OBJDIR)/CarlaPluginInternal.cpp.o \
189	$(OBJDIR)/CarlaPluginJack.cpp.o \
190	$(OBJDIR)/CarlaPluginNative.cpp.o \
191	$(OBJDIR)/CarlaPluginLADSPADSSI.cpp.o \
192	$(OBJDIR)/CarlaPluginLV2.cpp.o \
193	$(OBJDIR)/CarlaPluginVST2.cpp.o \
194	$(OBJDIR)/CarlaPluginVST3.cpp.o \
195	$(OBJDIR)/CarlaPluginAU.cpp.o \
196	$(OBJDIR)/CarlaPluginJuce.cpp.o \
197	$(OBJDIR)/CarlaPluginFluidSynth.cpp.o \
198	$(OBJDIR)/CarlaPluginSFZero.cpp.o \
199	$(OBJDIR)/CarlaStandalone.cpp.o
200
201OBJS_lv2 = $(OBJS_native) \
202	$(OBJDIR)/CarlaBridgeSingleLV2.cpp.o
203
204OBJS_arch = \
205	$(OBJDIR)/CarlaBridgePlugin.cpp.arch.o \
206	$(OBJDIR)/CarlaEngine.cpp.arch.o \
207	$(OBJDIR)/CarlaEngineClient.cpp.arch.o \
208	$(OBJDIR)/CarlaEngineData.cpp.arch.o \
209	$(OBJDIR)/CarlaEngineInternal.cpp.arch.o \
210	$(OBJDIR)/CarlaEnginePorts.cpp.arch.o \
211	$(OBJDIR)/CarlaEngineThread.cpp.arch.o \
212	$(OBJDIR)/CarlaEngineJack.cpp.arch.o \
213	$(OBJDIR)/CarlaEngineBridge.cpp.arch.o \
214	$(OBJDIR)/CarlaPlugin.cpp.arch.o \
215	$(OBJDIR)/CarlaPluginBridge.cpp.arch.o \
216	$(OBJDIR)/CarlaPluginInternal.cpp.arch.o \
217	$(OBJDIR)/CarlaPluginLADSPADSSI.cpp.arch.o \
218	$(OBJDIR)/CarlaPluginLV2.cpp.arch.o \
219	$(OBJDIR)/CarlaPluginVST2.cpp.arch.o \
220	$(OBJDIR)/CarlaPluginVST3.cpp.arch.o \
221	$(OBJDIR)/CarlaPluginAU.cpp.arch.o \
222	$(OBJDIR)/CarlaPluginJuce.cpp.arch.o \
223	$(OBJDIR)/CarlaStandalone.cpp.arch.o
224
225OBJS_arm32   = $(OBJS_arch:%.arch.o=%.arm32.o)
226OBJS_posix32 = $(OBJS_arch:%.arch.o=%.posix32.o)
227OBJS_posix64 = $(OBJS_arch:%.arch.o=%.posix64.o)
228OBJS_win32   = $(OBJS_arch:%.arch.o=%.win32.o)
229OBJS_win64   = $(OBJS_arch:%.arch.o=%.win64.o)
230
231# ---------------------------------------------------------------------------------------------------------------------
232
233all: native
234
235# ---------------------------------------------------------------------------------------------------------------------
236
237clean:
238	rm -f $(OBJDIR)/*.o
239	rm -f $(BINDIR)/$(MODULENAME)-native
240	rm -f $(BINDIR)/$(MODULENAME)-posix32
241	rm -f $(BINDIR)/$(MODULENAME)-posix64
242	rm -f $(BINDIR)/$(MODULENAME)-win*.exe
243
244debug:
245	$(MAKE) DEBUG=true
246
247# ---------------------------------------------------------------------------------------------------------------------
248
249native:  $(BINDIR)/$(MODULENAME)-native$(APP_EXT) $(BINDIR)/$(MODULENAME)-lv2$(LIB_EXT)
250arm32:   $(BINDIR)/$(MODULENAME)-arm32
251posix32: $(BINDIR)/$(MODULENAME)-posix32
252posix64: $(BINDIR)/$(MODULENAME)-posix64
253win32:   $(BINDIR)/$(MODULENAME)-win32.exe
254win64:   $(BINDIR)/$(MODULENAME)-win64.exe
255
256# ---------------------------------------------------------------------------------------------------------------------
257# linking
258
259$(BINDIR)/$(MODULENAME)-native$(APP_EXT): $(OBJS_native) $(LIBS_native)
260	-@mkdir -p $(BINDIR)
261	@echo "Linking $(MODULENAME)-native$(APP_EXT)"
262	@$(CXX) $(OBJS_native) $(LIBS_START) $(LIBS_native) $(LIBS_END) $(LINK_FLAGS) $(EXTRA_LINK_FLAGS) $(NATIVE_LINK_FLAGS) -o $@
263
264$(BINDIR)/$(MODULENAME)-lv2$(LIB_EXT): $(OBJS_lv2) $(LIBS_native)
265	-@mkdir -p $(BINDIR)
266	@echo "Linking $(MODULENAME)-lv2$(LIB_EXT)"
267	@$(CXX) $(OBJS_lv2) $(LIBS_START) $(LIBS_native) $(LIBS_END) $(SHARED) $(LINK_FLAGS) $(NATIVE_LINK_FLAGS) -o $@
268
269$(BINDIR)/$(MODULENAME)-arm32: $(OBJS_arm32) $(LIBS_arm32)
270	-@mkdir -p $(BINDIR)
271	@echo "Linking $(MODULENAME)-arm32"
272	@$(CXX) $(OBJS_arm32) $(LIBS_START) $(LIBS_arm32) $(LIBS_END) $(LINK_FLAGS) $(ARM32_FLAGS) -o $@
273
274$(BINDIR)/$(MODULENAME)-posix32: $(OBJS_posix32) $(LIBS_posix32)
275	-@mkdir -p $(BINDIR)
276	@echo "Linking $(MODULENAME)-posix32"
277	@$(CXX) $(OBJS_posix32) $(LIBS_START) $(LIBS_posix32) $(LIBS_END) $(LINK_FLAGS) $(32BIT_FLAGS) -o $@
278
279$(BINDIR)/$(MODULENAME)-posix64: $(OBJS_posix64) $(LIBS_posix64)
280	-@mkdir -p $(BINDIR)
281	@echo "Linking $(MODULENAME)-posix64"
282	@$(CXX) $(OBJS_posix64) $(LIBS_START) $(LIBS_posix64) $(LIBS_END) $(LINK_FLAGS) $(64BIT_FLAGS) -o $@
283
284$(BINDIR)/$(MODULENAME)-win32.exe: $(OBJS_win32) $(LIBS_win32)
285	-@mkdir -p $(BINDIR)
286	@echo "Linking $(MODULENAME)-win32.exe"
287	@$(CXX) $(OBJS_win32) $(LIBS_START) $(LIBS_win32) $(LIBS_END) $(LINK_FLAGS) $(EXTRA_LINK_FLAGS) $(32BIT_FLAGS) -o $@
288
289$(BINDIR)/$(MODULENAME)-win64.exe: $(OBJS_win64) $(LIBS_win64)
290	-@mkdir -p $(BINDIR)
291	@echo "Linking $(MODULENAME)-win64.exe"
292	@$(CXX) $(OBJS_win64) $(LIBS_START) $(LIBS_win64) $(LIBS_END) $(LINK_FLAGS) $(EXTRA_LINK_FLAGS) $(64BIT_FLAGS) -o $@
293
294# ---------------------------------------------------------------------------------------------------------------------
295# native
296
297ifeq ($(MACOS),true)
298$(OBJDIR)/CarlaPluginVST2.cpp.o: $(CWD)/backend/plugin/CarlaPluginVST2.cpp
299	-@mkdir -p $(OBJDIR)
300	@echo "Compiling CarlaPluginVST2.cpp (bridge)"
301	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -ObjC++ -c -o $@
302
303$(OBJDIR)/CarlaPluginJuce.cpp.o: $(CWD)/backend/plugin/CarlaPluginJuce.cpp
304	-@mkdir -p $(OBJDIR)
305	@echo "Compiling CarlaPluginJuce.cpp (bridge)"
306	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -ObjC++ -c -o $@
307
308$(OBJDIR)/CarlaStandalone.cpp.o: $(CWD)/backend/CarlaStandalone.cpp
309	-@mkdir -p $(OBJDIR)
310	@echo "Compiling CarlaStandalone.cpp (bridge)"
311	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -ObjC++ -c -o $@
312
313$(OBJDIR)/CarlaBridgePlugin.cpp.o: CarlaBridgePlugin.cpp
314	-@mkdir -p $(OBJDIR)
315	@echo "Compiling $<"
316	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -ObjC++ -c -o $@
317else
318$(OBJDIR)/CarlaStandalone.cpp.o: $(CWD)/backend/CarlaStandalone.cpp
319	-@mkdir -p $(OBJDIR)
320	@echo "Compiling CarlaStandalone.cpp (bridge)"
321	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -c -o $@
322
323$(OBJDIR)/CarlaBridgePlugin.cpp.o: CarlaBridgePlugin.cpp
324	-@mkdir -p $(OBJDIR)
325	@echo "Compiling $<"
326	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -c -o $@
327endif
328
329$(OBJDIR)/CarlaBridgeSingleLV2.cpp.o: CarlaBridgeSingleLV2.cpp
330	-@mkdir -p $(OBJDIR)
331	@echo "Compiling $<"
332	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -c -o $@
333
334$(OBJDIR)/CarlaPlug%.cpp.o: $(CWD)/backend/plugin/CarlaPlug%.cpp
335	-@mkdir -p $(OBJDIR)
336	@echo "Compiling CarlaPlug$*.cpp (bridge)"
337	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -c -o $@
338
339$(OBJDIR)/CarlaEng%.cpp.o: $(CWD)/backend/engine/CarlaEng%.cpp
340	-@mkdir -p $(OBJDIR)
341	@echo "Compiling CarlaEng$*.cpp (bridge)"
342	@$(CXX) $< $(BUILD_CXX_FLAGS) $(NATIVE_BUILD_FLAGS) -c -o $@
343
344# ---------------------------------------------------------------------------------------------------------------------
345# arm32
346
347$(OBJDIR)/CarlaBridgePlugin.cpp.arm32.o: CarlaBridgePlugin.cpp
348	-@mkdir -p $(OBJDIR)
349	@echo "Compiling $< (arm32 bridge)"
350	@$(CXX) $< $(BUILD_CXX_FLAGS) $(ARM32_FLAGS) -c -o $@
351
352$(OBJDIR)/CarlaStandalone.cpp.arm32.o: $(CWD)/backend/CarlaStandalone.cpp
353	-@mkdir -p $(OBJDIR)
354	@echo "Compiling CarlaStandalone.cpp (arm32 bridge)"
355	@$(CXX) $< $(BUILD_CXX_FLAGS) $(ARM32_FLAGS) -c -o $@
356
357$(OBJDIR)/CarlaEng%.cpp.arm32.o: $(CWD)/backend/engine/CarlaEng%.cpp
358	-@mkdir -p $(OBJDIR)
359	@echo "Compiling CarlaEng$*.cpp (arm32 bridge)"
360	@$(CXX) $< $(BUILD_CXX_FLAGS) $(ARM32_FLAGS) -c -o $@
361
362$(OBJDIR)/CarlaPlug%.cpp.arm32.o: $(CWD)/backend/plugin/CarlaPlug%.cpp
363	-@mkdir -p $(OBJDIR)
364	@echo "Compiling CarlaPlug$*.cpp (arm32 bridge)"
365	@$(CXX) $< $(BUILD_CXX_FLAGS) $(ARM32_FLAGS) -c -o $@
366
367# ----------------------------------------------------------------------------------------------------------------------
368# posix32
369
370ifeq ($(MACOS),true)
371$(OBJDIR)/CarlaPluginVST2.cpp.posix32.o: $(CWD)/backend/plugin/CarlaPluginVST2.cpp
372	-@mkdir -p $(OBJDIR)
373	@echo "Compiling CarlaPluginVST2.cpp (posix32 bridge)"
374	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -ObjC++ -c -o $@
375
376$(OBJDIR)/CarlaPluginJuce.cpp.posix32.o: $(CWD)/backend/plugin/CarlaPluginJuce.cpp
377	-@mkdir -p $(OBJDIR)
378	@echo "Compiling CarlaPluginJuce.cpp (posix32 bridge)"
379	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -ObjC++ -c -o $@
380
381$(OBJDIR)/CarlaBridgePlugin.cpp.posix32.o: CarlaBridgePlugin.cpp
382	-@mkdir -p $(OBJDIR)
383	@echo "Compiling $< (posix32 bridge)"
384	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -ObjC++ -c -o $@
385
386$(OBJDIR)/CarlaStandalone.cpp.posix32.o: $(CWD)/backend/CarlaStandalone.cpp
387	-@mkdir -p $(OBJDIR)
388	@echo "Compiling CarlaStandalone.cpp (posix32 bridge)"
389	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -ObjC++ -c -o $@
390else
391$(OBJDIR)/CarlaBridgePlugin.cpp.posix32.o: CarlaBridgePlugin.cpp
392	-@mkdir -p $(OBJDIR)
393	@echo "Compiling $< (posix32 bridge)"
394	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
395
396$(OBJDIR)/CarlaStandalone.cpp.posix32.o: $(CWD)/backend/CarlaStandalone.cpp
397	-@mkdir -p $(OBJDIR)
398	@echo "Compiling CarlaStandalone.cpp (posix32 bridge)"
399	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
400endif
401
402$(OBJDIR)/CarlaEng%.cpp.posix32.o: $(CWD)/backend/engine/CarlaEng%.cpp
403	-@mkdir -p $(OBJDIR)
404	@echo "Compiling CarlaEng$*.cpp (posix32 bridge)"
405	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
406
407$(OBJDIR)/CarlaPlug%.cpp.posix32.o: $(CWD)/backend/plugin/CarlaPlug%.cpp
408	-@mkdir -p $(OBJDIR)
409	@echo "Compiling CarlaPlug$*.cpp (posix32 bridge)"
410	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
411
412# ---------------------------------------------------------------------------------------------------------------------
413# posix64
414
415ifeq ($(MACOS),true)
416$(OBJDIR)/CarlaPluginVST2.cpp.posix64.o: $(CWD)/backend/plugin/CarlaPluginVST2.cpp
417	-@mkdir -p $(OBJDIR)
418	@echo "Compiling CarlaPluginVST2.cpp (posix64 bridge)"
419	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -ObjC++ -c -o $@
420
421$(OBJDIR)/CarlaPluginJuce.cpp.posix64.o: $(CWD)/backend/plugin/CarlaPluginJuce.cpp
422	-@mkdir -p $(OBJDIR)
423	@echo "Compiling CarlaPluginJuce.cpp (posix64 bridge)"
424	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -ObjC++ -c -o $@
425
426$(OBJDIR)/CarlaBridgePlugin.cpp.posix64.o: CarlaBridgePlugin.cpp
427	-@mkdir -p $(OBJDIR)
428	@echo "Compiling $< (posix64 bridge)"
429	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -ObjC++ -c -o $@
430
431$(OBJDIR)/CarlaStandalone.cpp.posix64.o: $(CWD)/backend/CarlaStandalone.cpp
432	-@mkdir -p $(OBJDIR)
433	@echo "Compiling CarlaStandalone.cpp (posix64 bridge)"
434	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -ObjC++ -c -o $@
435else
436$(OBJDIR)/CarlaBridgePlugin.cpp.posix64.o: CarlaBridgePlugin.cpp
437	-@mkdir -p $(OBJDIR)
438	@echo "Compiling $< (posix64 bridge)"
439	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
440
441$(OBJDIR)/CarlaStandalone.cpp.posix64.o: $(CWD)/backend/CarlaStandalone.cpp
442	-@mkdir -p $(OBJDIR)
443	@echo "Compiling CarlaStandalone.cpp (posix64 bridge)"
444	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
445endif
446
447$(OBJDIR)/CarlaEng%.cpp.posix64.o: $(CWD)/backend/engine/CarlaEng%.cpp
448	-@mkdir -p $(OBJDIR)
449	@echo "Compiling CarlaEng$*.cpp (posix64 bridge)"
450	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
451
452$(OBJDIR)/CarlaPlug%.cpp.posix64.o: $(CWD)/backend/plugin/CarlaPlug%.cpp
453	-@mkdir -p $(OBJDIR)
454	@echo "Compiling CarlaPlug$*.cpp (posix64 bridge)"
455	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
456
457# ---------------------------------------------------------------------------------------------------------------------
458# win32
459
460$(OBJDIR)/CarlaBridgePlugin.cpp.win32.o: CarlaBridgePlugin.cpp
461	-@mkdir -p $(OBJDIR)
462	@echo "Compiling $< (win32 bridge)"
463	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
464
465$(OBJDIR)/CarlaEng%.cpp.win32.o: $(CWD)/backend/engine/CarlaEng%.cpp
466	-@mkdir -p $(OBJDIR)
467	@echo "Compiling CarlaEng$*.cpp (win32 bridge)"
468	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
469
470$(OBJDIR)/CarlaPlug%.cpp.win32.o: $(CWD)/backend/plugin/CarlaPlug%.cpp
471	-@mkdir -p $(OBJDIR)
472	@echo "Compiling CarlaPlug$*.cpp (win32 bridge)"
473	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
474
475$(OBJDIR)/CarlaStandalone.cpp.win32.o: $(CWD)/backend/CarlaStandalone.cpp
476	-@mkdir -p $(OBJDIR)
477	@echo "Compiling CarlaStandalone.cpp (win32 bridge)"
478	@$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
479
480# ---------------------------------------------------------------------------------------------------------------------
481# win64
482
483$(OBJDIR)/CarlaBridgePlugin.cpp.win64.o: CarlaBridgePlugin.cpp
484	-@mkdir -p $(OBJDIR)
485	@echo "Compiling $< (win64 bridge)"
486	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
487
488$(OBJDIR)/CarlaEng%.cpp.win64.o: $(CWD)/backend/engine/CarlaEng%.cpp
489	-@mkdir -p $(OBJDIR)
490	@echo "Compiling CarlaEng$*.cpp (win64 bridge)"
491	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
492
493$(OBJDIR)/CarlaPlug%.cpp.win64.o: $(CWD)/backend/plugin/CarlaPlug%.cpp
494	-@mkdir -p $(OBJDIR)
495	@echo "Compiling CarlaPlug$*.cpp (win64 bridge)"
496	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
497
498$(OBJDIR)/CarlaStandalone.cpp.win64.o: $(CWD)/backend/CarlaStandalone.cpp
499	-@mkdir -p $(OBJDIR)
500	@echo "Compiling CarlaStandalone.cpp (win64 bridge)"
501	@$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
502
503# ---------------------------------------------------------------------------------------------------------------------
504
505-include $(OBJS_lv2:%.o=%.d)
506-include $(OBJS_arm32:%.o=%.d)
507-include $(OBJS_posix32:%.o=%.d)
508-include $(OBJS_posix64:%.o=%.d)
509-include $(OBJS_win32:%.o=%.d)
510-include $(OBJS_win64:%.o=%.d)
511
512# ---------------------------------------------------------------------------------------------------------------------
513