1#!/usr/bin/make -f
2# Makefile for DISTRHO Plugins #
3# ---------------------------- #
4# Created by falkTX, Christopher Arndt, and Patrick Desaulniers
5#
6
7# --------------------------------------------------------------
8# Installation directories
9
10PREFIX ?= /usr/local
11BINDIR ?= $(PREFIX)/bin
12LIBDIR ?= $(PREFIX)/lib
13DSSI_DIR ?= $(LIBDIR)/dssi
14LADSPA_DIR ?= $(LIBDIR)/ladspa
15ifneq ($(MACOS_OR_WINDOWS),true)
16LV2_DIR ?= $(LIBDIR)/lv2
17VST_DIR ?= $(LIBDIR)/vst
18endif
19ifeq ($(MACOS),true)
20LV2_DIR ?= /Library/Audio/Plug-Ins/LV2
21VST_DIR ?= /Library/Audio/Plug-Ins/VST
22endif
23ifeq ($(WINDOWS),true)
24LV2_DIR ?= $(COMMONPROGRAMFILES)/LV2
25VST_DIR ?= $(COMMONPROGRAMFILES)/VST2
26endif
27
28USER_DSSI_DIR ?= $(HOME)/.dssi
29USER_LADSPA_DIR ?= $(HOME)/.ladspa
30ifneq ($(MACOS_OR_WINDOWS),true)
31USER_LV2_DIR ?= $(HOME)/.lv2
32USER_VST_DIR ?= $(HOME)/.vst
33endif
34ifeq ($(MACOS),true)
35USER_LV2_DIR ?= $(HOME)/Library/Audio/Plug-Ins/LV2
36USER_VST_DIR ?= $(HOME)/Library/Audio/Plug-Ins/VST
37endif
38ifeq ($(WINDOWS),true)
39USER_LV2_DIR ?= $(APPDATA)/LV2
40USER_VST_DIR ?= $(APPDATA)/VST
41endif
42
43# --------------------------------------------------------------
44# Project name, used for binaries
45
46NAME = fogpad
47
48# --------------------------------------------------------------
49# Plugin types to build
50
51BUILD_LV2 ?= true
52BUILD_VST2 ?= true
53BUILD_JACK ?= true
54BUILD_DSSI ?= false
55BUILD_LADSPA ?= false
56
57# --------------------------------------------------------------
58# Files to build
59
60FILES_SHARED = \
61	sources/allpass.cpp \
62	sources/audiobuffer.cpp \
63	sources/bitcrusher.cpp \
64	sources/comb.cpp \
65	sources/decimator.cpp \
66	sources/filter.cpp \
67	sources/lfo.cpp \
68	sources/limiter.cpp \
69	sources/reverbprocess.cpp \
70	sources/plugin/SharedFogpad.cpp
71
72FILES_DSP = \
73	sources/plugin/PluginFogpad.cpp \
74	$(FILES_SHARED)
75
76FILES_UI = \
77	sources/plugin/UIFogpad.cpp \
78	sources/plugin/resource.cpp \
79	sources/ui/BitmapCache.cpp \
80	sources/ui/Control.cpp \
81	sources/ui/CheckBox.cpp \
82	sources/ui/Knob.cpp \
83	sources/ui/CairoExtra.cpp \
84	gen/FogpadEditRes.cpp \
85	$(FILES_SHARED)
86
87# --------------------------------------------------------------
88# Do some magic
89
90UI_TYPE = cairo
91include ../../dpf/Makefile.plugins.mk
92
93BUILD_CXX_FLAGS += -Wno-multichar
94BUILD_CXX_FLAGS += -Isources -Isources/plugin -Igen
95
96# --------------------------------------------------------------
97# Enable all selected plugin types
98
99ifeq ($(BUILD_LV2),true)
100ifeq ($(HAVE_CAIRO),true)
101TARGETS += lv2_sep
102else
103TARGETS += lv2_dsp
104endif
105endif
106
107ifeq ($(BUILD_VST2),true)
108TARGETS += vst
109endif
110
111ifeq ($(BUILD_JACK),true)
112ifeq ($(HAVE_JACK),true)
113TARGETS += jack
114endif
115endif
116
117ifeq ($(BUILD_DSSI),true)
118ifneq ($(MACOS_OR_WINDOWS),true)
119ifeq ($(HAVE_CAIRO),true)
120ifeq ($(HAVE_LIBLO),true)
121TARGETS += dssi
122endif
123endif
124endif
125endif
126
127ifeq ($(BUILD_LADSPA),true)
128TARGETS += ladspa
129endif
130
131all: $(TARGETS)
132
133install: all
134ifeq ($(BUILD_DSSI),true)
135ifneq ($(MACOS_OR_WINDOWS),true)
136ifeq ($(HAVE_CAIRO),true)
137ifeq ($(HAVE_LIBLO),true)
138	@mkdir -p -m 755 $(DESTDIR)$(DSSI_DIR)
139	@install -m 755 $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) $(DESTDIR)$(DSSI_DIR)/$(NAME)-dssi$(LIB_EXT)
140endif
141endif
142endif
143endif
144ifeq ($(BUILD_LADSPA),true)
145	@mkdir -p -m 755 $(DESTDIR)$(LADSPA_DIR)
146	@install -m 755 $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) $(DESTDIR)$(LADSPA_DIR)/$(NAME)-ladspa$(LIB_EXT)
147endif
148ifeq ($(BUILD_VST2),true)
149	@mkdir -p -m 755 $(DESTDIR)$(VST_DIR)
150	@install -m 755 $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT) $(DESTDIR)$(VST_DIR)/$(NAME)-vst$(LIB_EXT)
151endif
152ifeq ($(BUILD_LV2),true)
153	@mkdir -p -m 755 $(DESTDIR)$(LV2_DIR)/$(NAME).lv2
154	@install -m 644 $(TARGET_DIR)/$(NAME).lv2/*.ttl $(DESTDIR)$(LV2_DIR)/$(NAME).lv2
155	@install -m 755 $(TARGET_DIR)/$(NAME).lv2/*.so $(DESTDIR)$(LV2_DIR)/$(NAME).lv2
156endif
157ifeq ($(BUILD_JACK),true)
158ifeq ($(HAVE_JACK),true)
159	@mkdir -p -m 755 $(DESTDIR)$(BINDIR)
160	@install -m 755 $(TARGET_DIR)/$(NAME)$(APP_EXT) $(DESTDIR)$(BINDIR)/$(NAME)$(APP_EXT)
161endif
162endif
163
164install-user: all
165ifeq ($(BUILD_DSSI),true)
166ifneq ($(MACOS_OR_WINDOWS),true)
167ifeq ($(HAVE_CAIRO),true)
168ifeq ($(HAVE_LIBLO),true)
169	@mkdir -p -m 755 $(USER_DSSI_DIR)
170	@install -m 755 $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) $(USER_DSSI_DIR)/$(NAME)-dssi$(LIB_EXT)
171endif
172endif
173endif
174endif
175ifeq ($(BUILD_LADSPA),true)
176	@mkdir -p -m 755 $(USER_LADSPA_DIR)
177	@install -m 755 $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) $(USER_LADSPA_DIR)/$(NAME)-ladspa$(LIB_EXT)
178endif
179ifeq ($(BUILD_VST2),true)
180	@mkdir -p -m 755 $(USER_VST_DIR)
181	@install -m 755 $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT) $(USER_VST_DIR)/$(NAME)-vst$(LIB_EXT)
182endif
183ifeq ($(BUILD_LV2),true)
184	@mkdir -p -m 755 $(USER_LV2_DIR)/$(NAME).lv2
185	@install -m 644 $(TARGET_DIR)/$(NAME).lv2/*.ttl $(USER_LV2_DIR)/$(NAME).lv2
186	@install -m 755 $(TARGET_DIR)/$(NAME).lv2/*.so $(USER_LV2_DIR)/$(NAME).lv2
187endif
188ifeq ($(BUILD_JACK),true)
189ifeq ($(HAVE_JACK),true)
190	@mkdir -p -m 755 $(HOME)/bin
191	@install -m 755 $(TARGET_DIR)/$(NAME)$(APP_EXT) $(HOME)/bin/$(NAME)$(APP_EXT)
192endif
193endif
194
195# --------------------------------------------------------------
196
197.PHONY: all install install-user
198