1#!/usr/bin/make -f
2# Makefile for carla-plugin #
3# ------------------------- #
4# Created by falkTX
5#
6
7CWD=../..
8include ../Makefile.mk
9
10# Workaround GCC bug
11ifeq ($(TESTBUILD),true)
12ifeq ($(USING_JUCE),true)
13BUILD_CXX_FLAGS += -Wno-undef
14endif
15endif
16
17BUILD_CXX_FLAGS += $(MAGIC_FLAGS)
18
19# ---------------------------------------------------------------------------------------------------------------------
20
21OBJS = \
22	$(OBJDIR)/CarlaPlugin.cpp.o \
23	$(OBJDIR)/CarlaPluginInternal.cpp.o \
24	$(OBJDIR)/CarlaPluginNative.cpp.o \
25	$(OBJDIR)/CarlaPluginBridge.cpp.o \
26	$(OBJDIR)/CarlaPluginLADSPADSSI.cpp.o \
27	$(OBJDIR)/CarlaPluginLV2.cpp.o \
28	$(OBJDIR)/CarlaPluginVST2.cpp.o \
29	$(OBJDIR)/CarlaPluginVST3.cpp.o \
30	$(OBJDIR)/CarlaPluginAU.cpp.o \
31	$(OBJDIR)/CarlaPluginJuce.cpp.o \
32	$(OBJDIR)/CarlaPluginFluidSynth.cpp.o \
33	$(OBJDIR)/CarlaPluginSFZero.cpp.o \
34	$(OBJDIR)/CarlaPluginJack.cpp.o
35
36TARGETS = \
37	$(MODULEDIR)/carla_plugin.a
38
39# ---------------------------------------------------------------------------------------------------------------------
40
41all: $(TARGETS)
42
43# ---------------------------------------------------------------------------------------------------------------------
44
45clean:
46	rm -f $(OBJS) $(TARGETS)
47
48debug:
49	$(MAKE) DEBUG=true
50
51# ---------------------------------------------------------------------------------------------------------------------
52
53$(MODULEDIR)/carla_plugin.a: $(OBJS)
54	-@mkdir -p $(MODULEDIR)
55	@echo "Creating carla_plugin.a"
56	@rm -f $@
57	@$(AR) crs $@ $^
58
59# ---------------------------------------------------------------------------------------------------------------------
60
61$(OBJDIR)/CarlaPluginFluidSynth.cpp.o: CarlaPluginFluidSynth.cpp
62	-@mkdir -p $(OBJDIR)
63	@echo "Compiling $<"
64	@$(CXX) $< $(BUILD_CXX_FLAGS) $(FLUIDSYNTH_FLAGS) -c -o $@
65
66ifeq ($(MACOS),true)
67$(OBJDIR)/CarlaPluginVST2.cpp.o: CarlaPluginVST2.cpp
68	-@mkdir -p $(OBJDIR)
69	@echo "Compiling $<"
70	@$(CXX) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@
71
72$(OBJDIR)/CarlaPluginJuce.cpp.o: CarlaPluginJuce.cpp
73	-@mkdir -p $(OBJDIR)
74	@echo "Compiling $<"
75	@$(CXX) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@
76endif
77
78$(OBJDIR)/%.cpp.o: %.cpp
79	-@mkdir -p $(OBJDIR)
80	@echo "Compiling $<"
81	@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
82
83-include $(OBJS:%.o=%.d)
84
85# ---------------------------------------------------------------------------------------------------------------------
86