Makefile.plugins.mk (29430B)
1 #!/usr/bin/make -f 2 # Makefile for DPF # 3 # ---------------- # 4 # Created by falkTX 5 # 6 7 # NOTE: NAME, FILES_DSP and FILES_UI must have been defined before including this file! 8 9 # extra useful variables to define before including this file: 10 # - DPF_BUILD_DIR: where to place temporary build files 11 # - DPF_TARGET_DIR: where to place final binary files 12 # - UI_TYPE: one of cairo, opengl, opengl3 or external, with opengl being default 13 # ("generic" is also allowed if only using image widgets) 14 15 # override the "all" target after including this file to define which plugin formats to build, like so: 16 # all: au clap jack lv2_sep vst2 vst3 17 18 # NOTE the "lv2" target refers to a monolithic build (dsp and ui combined), 19 # while "lv2_sep" target has dsp and ui in separate binaries. 20 # use of this target must match the definition of `DISTRHO_PLUGIN_WANT_DIRECT_ACCESS` 21 22 # --------------------------------------------------------------------------------------------------------------------- 23 # Try to figure out where DPF is located 24 25 ifeq ($(DPF_PATH),) 26 27 # find path to this makefile 28 DPF_PLUGINS_MAKEFILE = $(lastword $(filter %Makefile.plugins.mk,$(MAKEFILE_LIST))) 29 30 # error out if wrongly named or referencing it without any path 31 ifeq (,$(findstring /Makefile.plugins.mk,$(DPF_PLUGINS_MAKEFILE))) 32 $(error wrong inclusion of Makefile.plugins.mk, must be either absolute or relative path) 33 endif 34 35 # find path to DPF 36 DPF_PATH = $(patsubst %/Makefile.plugins.mk,%,$(DPF_PLUGINS_MAKEFILE)) 37 38 # best guess for where to place binary files 39 ifeq ($(DPF_PATH),..) 40 BASE_PATH = $(DPF_PATH) 41 else ifeq ($(DPF_PATH),../..) 42 BASE_PATH = $(DPF_PATH) 43 else ifeq ($(DPF_PATH),../../..) 44 BASE_PATH = $(DPF_PATH) 45 else 46 BASE_PATH = $(patsubst %/,%,$(dir $(DPF_PATH))) 47 endif 48 49 endif 50 51 include $(DPF_PATH)/Makefile.base.mk 52 53 # --------------------------------------------------------------------------------------------------------------------- 54 # Basic setup 55 56 ifeq ($(MODGUI_BUILD),true) 57 BUILD_DIR_SUFFIX = -modgui 58 endif 59 60 ifneq ($(DPF_BUILD_DIR),) 61 BUILD_DIR = $(DPF_BUILD_DIR)$(BUILD_DIR_SUFFIX) 62 else 63 BUILD_DIR = $(BASE_PATH)/build$(BUILD_DIR_SUFFIX)/$(NAME) 64 endif 65 66 ifneq ($(DPF_TARGET_DIR),) 67 TARGET_DIR = $(DPF_TARGET_DIR) 68 else 69 TARGET_DIR = $(BASE_PATH)/bin 70 endif 71 72 DGL_BUILD_DIR = $(DPF_PATH)/build$(BUILD_DIR_SUFFIX) 73 74 BUILD_C_FLAGS += -I. 75 BUILD_CXX_FLAGS += -I. -I$(DPF_PATH)/distrho -I$(DPF_PATH)/dgl -I$(DPF_PATH)/dgl/src/pugl-upstream/include 76 77 ifeq ($(HAVE_ALSA),true) 78 BASE_FLAGS += -DHAVE_ALSA 79 endif 80 81 ifeq ($(HAVE_JACK),true) 82 BASE_FLAGS += -DHAVE_JACK 83 endif 84 85 ifeq ($(HAVE_LIBLO),true) 86 BASE_FLAGS += -DHAVE_LIBLO 87 endif 88 89 ifeq ($(HAVE_PULSEAUDIO),true) 90 BASE_FLAGS += -DHAVE_PULSEAUDIO 91 endif 92 93 ifeq ($(HAVE_RTAUDIO),true) 94 BASE_FLAGS += -DHAVE_RTAUDIO 95 endif 96 97 ifeq ($(HAVE_SDL2),true) 98 BASE_FLAGS += -DHAVE_SDL2 99 endif 100 101 ifneq ($(MODGUI_CLASS_NAME),) 102 BASE_FLAGS += -DDISTRHO_PLUGIN_MODGUI_CLASS_NAME='"$(MODGUI_CLASS_NAME)"' 103 endif 104 105 # always needed 106 ifneq ($(HAIKU_OR_MACOS_OR_WASM_OR_WINDOWS),true) 107 ifneq ($(STATIC_BUILD),true) 108 LINK_FLAGS += -ldl 109 endif 110 endif 111 112 # --------------------------------------------------------------------------------------------------------------------- 113 # JACK/Standalone setup 114 115 ifeq ($(WASM),true) 116 117 JACK_FLAGS += -sUSE_SDL=2 118 JACK_LIBS += -sUSE_SDL=2 119 JACK_LIBS += -sMAIN_MODULE -ldl 120 121 ifneq ($(FILE_BROWSER_DISABLED),true) 122 JACK_LIBS += -sEXPORTED_RUNTIME_METHODS=FS,cwrap 123 endif 124 125 else ifneq ($(SKIP_RTAUDIO_FALLBACK),true) 126 127 JACK_FLAGS += -DHAVE_GETTIMEOFDAY 128 129 ifeq ($(MACOS),true) 130 JACK_LIBS += -framework CoreAudio -framework CoreFoundation -framework CoreMIDI 131 else ifeq ($(WINDOWS),true) 132 JACK_LIBS += -lole32 -lwinmm 133 # DirectSound 134 # JACK_LIBS += -ldsound 135 # WASAPI 136 JACK_LIBS += -lksuser -lmfplat -lmfuuid -lwmcodecdspuuid 137 else 138 ifeq ($(HAVE_PULSEAUDIO),true) 139 JACK_FLAGS += $(PULSEAUDIO_FLAGS) 140 JACK_LIBS += $(PULSEAUDIO_LIBS) 141 endif 142 ifeq ($(HAVE_ALSA),true) 143 JACK_FLAGS += $(ALSA_FLAGS) 144 JACK_LIBS += $(ALSA_LIBS) 145 endif 146 endif 147 148 ifeq ($(HAVE_RTAUDIO),true) 149 ifneq ($(HAIKU),true) 150 JACK_LIBS += -lpthread 151 endif 152 endif 153 154 ifeq ($(HAVE_SDL2),true) 155 JACK_FLAGS += $(SDL2_FLAGS) 156 JACK_LIBS += $(SDL2_LIBS) 157 endif 158 159 endif 160 161 # --------------------------------------------------------------------------------------------------------------------- 162 # Set files to build 163 164 OBJS_DSP = $(FILES_DSP:%=$(BUILD_DIR)/%.o) 165 OBJS_UI = $(FILES_UI:%=$(BUILD_DIR)/%.o) 166 167 ifeq ($(MACOS),true) 168 OBJS_UI += $(BUILD_DIR)/DistrhoUI_macOS_$(NAME).mm.o 169 endif 170 171 # --------------------------------------------------------------------------------------------------------------------- 172 # Handle UI stuff, disable UI support automatically 173 174 ifeq ($(FILES_UI),) 175 HAVE_DGL = false 176 UI_TYPE = none 177 endif 178 179 ifeq ($(UI_TYPE),) 180 UI_TYPE = opengl 181 endif 182 183 ifeq ($(UI_TYPE),generic) 184 ifeq ($(HAVE_OPENGL),true) 185 UI_TYPE = opengl 186 else ifeq ($(HAVE_CAIRO),true) 187 UI_TYPE = cairo 188 endif 189 endif 190 191 ifeq ($(UI_TYPE),cairo) 192 ifeq ($(HAVE_CAIRO),true) 193 DGL_FLAGS += -DDGL_CAIRO -DHAVE_DGL 194 DGL_FLAGS += $(CAIRO_FLAGS) 195 DGL_LIBS += $(CAIRO_LIBS) 196 DGL_LIB = $(DGL_BUILD_DIR)/libdgl-cairo.a 197 HAVE_DGL = true 198 else 199 HAVE_DGL = false 200 endif 201 endif 202 203 ifeq ($(UI_TYPE),opengl) 204 ifeq ($(HAVE_OPENGL),true) 205 DGL_FLAGS += -DDGL_OPENGL -DHAVE_DGL 206 DGL_FLAGS += $(OPENGL_FLAGS) 207 DGL_LIBS += $(OPENGL_LIBS) 208 DGL_LIB = $(DGL_BUILD_DIR)/libdgl-opengl.a 209 HAVE_DGL = true 210 else 211 HAVE_DGL = false 212 endif 213 endif 214 215 ifeq ($(UI_TYPE),opengl3) 216 ifeq ($(HAVE_OPENGL),true) 217 DGL_FLAGS += -DDGL_OPENGL -DDGL_USE_OPENGL3 -DHAVE_DGL 218 DGL_FLAGS += $(OPENGL_FLAGS) 219 DGL_LIBS += $(OPENGL_LIBS) 220 DGL_LIB = $(DGL_BUILD_DIR)/libdgl-opengl3.a 221 HAVE_DGL = true 222 else 223 HAVE_DGL = false 224 endif 225 endif 226 227 ifeq ($(UI_TYPE),vulkan) 228 ifeq ($(HAVE_VULKAN),true) 229 DGL_FLAGS += -DDGL_VULKAN -DHAVE_DGL 230 DGL_FLAGS += $(VULKAN_FLAGS) 231 DGL_LIBS += $(VULKAN_LIBS) 232 DGL_LIB = $(DGL_BUILD_DIR)/libdgl-vulkan.a 233 HAVE_DGL = true 234 else 235 HAVE_DGL = false 236 endif 237 endif 238 239 ifeq ($(UI_TYPE),web) 240 DGL_FLAGS += -DDGL_WEB -DHAVE_DGL 241 DGL_LIB = $(DGL_BUILD_DIR)/libdgl-web.a 242 HAVE_DGL = true 243 endif 244 245 ifeq ($(UI_TYPE),external) 246 DGL_FLAGS += -DDGL_EXTERNAL 247 HAVE_DGL = true 248 endif 249 250 ifeq ($(UI_TYPE),stub) 251 ifeq ($(HAVE_STUB),true) 252 DGL_LIB = $(DGL_BUILD_DIR)/libdgl-stub.a 253 HAVE_DGL = true 254 else 255 HAVE_DGL = false 256 endif 257 endif 258 259 ifeq ($(HAVE_DGL)$(LINUX)$(USING_WEBVIEW),truetruetrue) 260 DGL_LIB_SHARED = $(shell $(CC) -print-file-name=Scrt1.o) 261 endif 262 263 DGL_LIBS += $(DGL_SYSTEM_LIBS) -lm 264 265 # TODO split dsp and ui object build flags 266 BASE_FLAGS += $(DGL_FLAGS) 267 268 # --------------------------------------------------------------------------------------------------------------------- 269 # Set CLAP filename, either single binary or inside a bundle 270 271 ifeq ($(MACOS),true) 272 CLAP_FILENAME = $(NAME).clap/$(CLAP_BINARY_DIR)/$(NAME) 273 else ifeq ($(USE_CLAP_BUNDLE),true) 274 CLAP_FILENAME = $(NAME).clap/$(NAME).clap 275 else 276 CLAP_FILENAME = $(NAME).clap 277 endif 278 279 # --------------------------------------------------------------------------------------------------------------------- 280 # Set VST2 filename, either single binary or inside a bundle 281 282 ifeq ($(MACOS),true) 283 VST2_FILENAME = $(NAME).vst/$(VST2_BINARY_DIR)/$(NAME) 284 else ifeq ($(USE_VST2_BUNDLE),true) 285 VST2_FILENAME = $(NAME).vst/$(NAME)$(LIB_EXT) 286 else 287 VST2_FILENAME = $(NAME)-vst$(LIB_EXT) 288 endif 289 290 # --------------------------------------------------------------------------------------------------------------------- 291 # Set VST3 filename, see https://vst3sdk-doc.diatonic.jp/doc/vstinterfaces/vst3loc.html 292 293 ifeq ($(LINUX),true) 294 VST3_FILENAME = $(NAME).vst3/$(VST3_BINARY_DIR)/$(NAME)$(LIB_EXT) 295 else ifeq ($(MACOS),true) 296 VST3_FILENAME = $(NAME).vst3/$(VST3_BINARY_DIR)/$(NAME) 297 else ifneq ($(VST3_BINARY_DIR),) 298 VST3_FILENAME = $(NAME).vst3/$(VST3_BINARY_DIR)/$(NAME).vst3 299 endif 300 301 # --------------------------------------------------------------------------------------------------------------------- 302 # Set plugin binary file targets 303 304 ifeq ($(MACOS)$(HAVE_DGL),truetrue) 305 MACOS_APP_BUNDLE = true 306 endif 307 308 ifeq ($(WINDOWS)$(HAVE_DGL),truetrue) 309 JACK_LIBS += -Wl,-subsystem,windows 310 endif 311 312 ifeq ($(MACOS_APP_BUNDLE),true) 313 jack = $(TARGET_DIR)/$(NAME).app/Contents/MacOS/$(NAME) 314 jackfiles = $(TARGET_DIR)/$(NAME).app/Contents/Info.plist 315 else 316 jack = $(TARGET_DIR)/$(NAME)$(APP_EXT) 317 endif 318 319 ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) 320 dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) 321 dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui$(APP_EXT) 322 lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT) 323 lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp$(LIB_EXT) 324 lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui$(LIB_EXT) 325 vst2 = $(TARGET_DIR)/$(VST2_FILENAME) 326 ifneq ($(VST3_FILENAME),) 327 vst3 = $(TARGET_DIR)/$(VST3_FILENAME) 328 endif 329 clap = $(TARGET_DIR)/$(CLAP_FILENAME) 330 shared = $(TARGET_DIR)/$(NAME)$(LIB_EXT) 331 static = $(TARGET_DIR)/$(NAME).a 332 333 ifeq ($(MACOS),true) 334 BUNDLE_RESOURCES = Info.plist PkgInfo Resources/empty.lproj 335 au = $(TARGET_DIR)/$(NAME).component/Contents/MacOS/$(NAME) 336 aufiles += $(BUNDLE_RESOURCES:%=$(TARGET_DIR)/$(NAME).component/Contents/%) 337 vst2files += $(BUNDLE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/%) 338 vst3files += $(BUNDLE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/%) 339 clapfiles += $(BUNDLE_RESOURCES:%=$(TARGET_DIR)/$(NAME).clap/Contents/%) 340 endif 341 342 ifneq ($(HAVE_DGL),true) 343 dssi_ui = 344 lv2_ui = 345 DGL_LIBS = 346 OBJS_UI = 347 endif 348 349 ifneq ($(HAVE_LIBLO),true) 350 dssi_ui = 351 endif 352 353 # --------------------------------------------------------------------------------------------------------------------- 354 # Set plugin symbols to export 355 356 ifeq ($(MACOS),true) 357 SYMBOLS_AU = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/au.exp 358 SYMBOLS_LADSPA = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/ladspa.exp 359 SYMBOLS_DSSI = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/dssi.exp 360 SYMBOLS_LV2DSP = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/lv2-dsp.exp 361 SYMBOLS_LV2UI = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/lv2-ui.exp 362 SYMBOLS_LV2 = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/lv2.exp 363 SYMBOLS_VST2 = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/vst2.exp 364 SYMBOLS_VST3 = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/vst3.exp 365 SYMBOLS_CLAP = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/clap.exp 366 SYMBOLS_SHARED = -Wl,-exported_symbols_list,$(DPF_PATH)/utils/symbols/shared.exp 367 else ifeq ($(WASM),true) 368 SYMBOLS_LADSPA = -sEXPORTED_FUNCTIONS="['ladspa_descriptor']" 369 SYMBOLS_DSSI = -sEXPORTED_FUNCTIONS="['ladspa_descriptor','dssi_descriptor']" 370 SYMBOLS_LV2DSP = -sEXPORTED_FUNCTIONS="['lv2_descriptor','lv2_generate_ttl']" 371 SYMBOLS_LV2UI = -sEXPORTED_FUNCTIONS="['lv2ui_descriptor']" 372 SYMBOLS_LV2 = -sEXPORTED_FUNCTIONS="['lv2_descriptor','lv2_generate_ttl','lv2ui_descriptor']" 373 SYMBOLS_VST2 = -sEXPORTED_FUNCTIONS="['VSTPluginMain']" 374 SYMBOLS_VST3 = -sEXPORTED_FUNCTIONS="['GetPluginFactory','ModuleEntry','ModuleExit']" 375 SYMBOLS_CLAP = -sEXPORTED_FUNCTIONS="['clap_entry']" 376 SYMBOLS_SHARED = -sEXPORTED_FUNCTIONS="['createSharedPlugin']" 377 else ifeq ($(WINDOWS),true) 378 SYMBOLS_LADSPA = $(DPF_PATH)/utils/symbols/ladspa.def 379 SYMBOLS_DSSI = $(DPF_PATH)/utils/symbols/dssi.def 380 SYMBOLS_LV2DSP = $(DPF_PATH)/utils/symbols/lv2-dsp.def 381 SYMBOLS_LV2UI = $(DPF_PATH)/utils/symbols/lv2-ui.def 382 SYMBOLS_LV2 = $(DPF_PATH)/utils/symbols/lv2.def 383 SYMBOLS_VST2 = $(DPF_PATH)/utils/symbols/vst2.def 384 SYMBOLS_VST3 = $(DPF_PATH)/utils/symbols/vst3.def 385 SYMBOLS_CLAP = $(DPF_PATH)/utils/symbols/clap.def 386 SYMBOLS_SHARED = $(DPF_PATH)/utils/symbols/shared.def 387 else ifneq ($(DEBUG),true) 388 SYMBOLS_LADSPA = -Wl,--version-script=$(DPF_PATH)/utils/symbols/ladspa.version 389 SYMBOLS_DSSI = -Wl,--version-script=$(DPF_PATH)/utils/symbols/dssi.version 390 SYMBOLS_LV2DSP = -Wl,--version-script=$(DPF_PATH)/utils/symbols/lv2-dsp.version 391 SYMBOLS_LV2UI = -Wl,--version-script=$(DPF_PATH)/utils/symbols/lv2-ui.version 392 SYMBOLS_LV2 = -Wl,--version-script=$(DPF_PATH)/utils/symbols/lv2.version 393 SYMBOLS_VST2 = -Wl,--version-script=$(DPF_PATH)/utils/symbols/vst2.version 394 SYMBOLS_VST3 = -Wl,--version-script=$(DPF_PATH)/utils/symbols/vst3.version 395 SYMBOLS_CLAP = -Wl,--version-script=$(DPF_PATH)/utils/symbols/clap.version 396 SYMBOLS_SHARED = -Wl,--version-script=$(DPF_PATH)/utils/symbols/shared.version 397 endif 398 399 # --------------------------------------------------------------------------------------------------------------------- 400 # Runtime test build 401 402 ifeq ($(DPF_RUNTIME_TESTING),true) 403 BUILD_CXX_FLAGS += -DDPF_RUNTIME_TESTING -Wno-pmf-conversions 404 endif 405 406 # --------------------------------------------------------------------------------------------------------------------- 407 # all needs to be first 408 409 all: 410 411 # --------------------------------------------------------------------------------------------------------------------- 412 # Common 413 414 $(BUILD_DIR)/%.S.o: %.S 415 -@mkdir -p "$(shell dirname $@)" 416 @echo "Compiling $<" 417 @$(CC) $< $(BUILD_C_FLAGS) -c -o $@ 418 419 $(BUILD_DIR)/%.c.o: %.c 420 -@mkdir -p "$(shell dirname $@)" 421 @echo "Compiling $<" 422 $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@ 423 424 $(BUILD_DIR)/%.cc.o: %.cc 425 -@mkdir -p "$(shell dirname $@)" 426 @echo "Compiling $<" 427 $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ 428 429 $(BUILD_DIR)/%.cpp.o: %.cpp 430 -@mkdir -p "$(shell dirname $@)" 431 @echo "Compiling $<" 432 $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ 433 434 $(BUILD_DIR)/%.m.o: %.m 435 -@mkdir -p "$(shell dirname $@)" 436 @echo "Compiling $<" 437 $(SILENT)$(CC) $< $(BUILD_C_FLAGS) -ObjC -c -o $@ 438 439 $(BUILD_DIR)/%.mm.o: %.mm 440 -@mkdir -p "$(shell dirname $@)" 441 @echo "Compiling $<" 442 $(SILENT)$(CC) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@ 443 444 clean: 445 rm -rf $(BUILD_DIR) 446 ifeq ($(DPF_BUILD_DIR),) 447 rm -rf $(BASE_PATH)/build-modgui/$(NAME) 448 rm -rf $(DPF_PATH)/build-modgui 449 endif 450 rm -rf $(TARGET_DIR)/$(NAME) 451 rm -rf $(TARGET_DIR)/$(NAME)-* 452 rm -rf $(TARGET_DIR)/$(NAME).clap 453 rm -rf $(TARGET_DIR)/$(NAME).component 454 rm -rf $(TARGET_DIR)/$(NAME).lv2 455 rm -rf $(TARGET_DIR)/$(NAME).vst 456 rm -rf $(TARGET_DIR)/$(NAME).vst3 457 458 # --------------------------------------------------------------------------------------------------------------------- 459 # DGL 460 461 DGL_POSSIBLE_DEPS = \ 462 $(DPF_PATH)/dgl/*.* \ 463 $(DPF_PATH)/dgl/src/*.* \ 464 $(DPF_PATH)/dgl/src/nanovg/*.* \ 465 $(DPF_PATH)/dgl/src/pugl-extra/*.* \ 466 $(DPF_PATH)/dgl/src/pugl-upstream/include/pugl/*.* \ 467 $(DPF_PATH)/dgl/src/pugl-upstream/src/*.* 468 469 $(DGL_BUILD_DIR)/libdgl-cairo.a: $(DGL_POSSIBLE_DEPS) 470 $(MAKE) -C $(DPF_PATH)/dgl cairo 471 472 $(DGL_BUILD_DIR)/libdgl-opengl.a: $(DGL_POSSIBLE_DEPS) 473 $(MAKE) -C $(DPF_PATH)/dgl opengl 474 475 $(DGL_BUILD_DIR)/libdgl-opengl3.a: $(DGL_POSSIBLE_DEPS) 476 $(MAKE) -C $(DPF_PATH)/dgl opengl3 477 478 $(DGL_BUILD_DIR)/libdgl-stub.a: $(DGL_POSSIBLE_DEPS) 479 $(MAKE) -C $(DPF_PATH)/dgl stub 480 481 $(DGL_BUILD_DIR)/libdgl-vulkan.a: $(DGL_POSSIBLE_DEPS) 482 $(MAKE) -C $(DPF_PATH)/dgl vulkan 483 484 # --------------------------------------------------------------------------------------------------------------------- 485 486 $(BUILD_DIR)/DistrhoPluginMain_%.cpp.o: $(DPF_PATH)/distrho/DistrhoPluginMain.cpp $(EXTRA_DEPENDENCIES) $(EXTRA_DSP_DEPENDENCIES) 487 -@mkdir -p $(BUILD_DIR) 488 @echo "Compiling DistrhoPluginMain.cpp ($*)" 489 $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_$* -c -o $@ 490 491 $(BUILD_DIR)/DistrhoUIMain_%.cpp.o: $(DPF_PATH)/distrho/DistrhoUIMain.cpp $(EXTRA_DEPENDENCIES) $(EXTRA_UI_DEPENDENCIES) 492 -@mkdir -p $(BUILD_DIR) 493 @echo "Compiling DistrhoUIMain.cpp ($*)" 494 $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_$* -c -o $@ 495 496 $(BUILD_DIR)/DistrhoUI_macOS_%.mm.o: $(DPF_PATH)/distrho/DistrhoUI_macOS.mm $(EXTRA_DEPENDENCIES) $(EXTRA_UI_DEPENDENCIES) 497 -@mkdir -p $(BUILD_DIR) 498 @echo "Compiling DistrhoUI_macOS.mm ($*)" 499 $(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@ 500 501 $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o: BUILD_CXX_FLAGS += $(JACK_FLAGS) 502 503 $(BUILD_DIR)/DistrhoPluginMain_AU.cpp.o: BUILD_CXX_FLAGS += -ObjC++ 504 505 $(BUILD_DIR)/DistrhoUIMain_AU.cpp.o: BUILD_CXX_FLAGS += -ObjC++ 506 507 $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.o: BUILD_CXX_FLAGS += $(LIBLO_FLAGS) 508 509 # --------------------------------------------------------------------------------------------------------------------- 510 # JACK 511 512 jack: $(jack) $(jackfiles) 513 514 ifeq ($(HAVE_DGL),true) 515 $(jack): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o $(BUILD_DIR)/DistrhoUIMain_JACK.cpp.o $(DGL_LIB) 516 else 517 $(jack): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o 518 endif 519 -@mkdir -p $(shell dirname $@) 520 @echo "Creating JACK standalone for $(NAME)" 521 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(JACK_LIBS) -o $@ 522 523 # --------------------------------------------------------------------------------------------------------------------- 524 # LADSPA 525 526 ladspa: $(ladspa_dsp) 527 528 $(ladspa_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LADSPA.cpp.o 529 -@mkdir -p $(shell dirname $@) 530 @echo "Creating LADSPA plugin for $(NAME)" 531 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(SHARED) $(SYMBOLS_LADSPA) -o $@ 532 533 # --------------------------------------------------------------------------------------------------------------------- 534 # DSSI 535 536 dssi: $(dssi_dsp) $(dssi_ui) 537 dssi_dsp: $(dssi_dsp) 538 dssi_ui: $(dssi_ui) 539 540 $(dssi_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_DSSI.cpp.o 541 -@mkdir -p $(shell dirname $@) 542 @echo "Creating DSSI plugin library for $(NAME)" 543 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(SHARED) $(SYMBOLS_DSSI) -o $@ 544 545 $(dssi_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.o $(DGL_LIB) 546 -@mkdir -p $(shell dirname $@) 547 @echo "Creating DSSI UI for $(NAME)" 548 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(LIBLO_LIBS) -o $@ 549 550 # --------------------------------------------------------------------------------------------------------------------- 551 # LV2 552 553 lv2: $(lv2) 554 lv2_dsp: $(lv2_dsp) 555 lv2_sep: $(lv2_dsp) $(lv2_ui) 556 557 ifeq ($(HAVE_DGL),true) 558 $(lv2): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DGL_LIB) $(DGL_LIB_SHARED) 559 else 560 $(lv2): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o 561 endif 562 -@mkdir -p $(shell dirname $@) 563 @echo "Creating LV2 plugin for $(NAME)" 564 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_LV2) -o $@ 565 566 $(lv2_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o 567 -@mkdir -p $(shell dirname $@) 568 @echo "Creating LV2 plugin library for $(NAME)" 569 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(SHARED) $(SYMBOLS_LV2DSP) -o $@ 570 571 $(lv2_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DGL_LIB) $(DGL_LIB_SHARED) 572 -@mkdir -p $(shell dirname $@) 573 @echo "Creating LV2 plugin UI for $(NAME)" 574 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_LV2UI) -o $@ 575 576 # --------------------------------------------------------------------------------------------------------------------- 577 # LV2 modgui 578 579 ifeq ($(MODGUI_BUILD),true) 580 ifeq ($(MODGUI_CLASS_NAME),) 581 $(error MODGUI_CLASS_NAME undefined) 582 endif 583 endif 584 585 # clear all possible flags coming from DPF, while keeping any extra flags specified for this build 586 MODGUI_IGNORED_FLAGS = -fdata-sections 587 MODGUI_IGNORED_FLAGS += -ffast-math 588 MODGUI_IGNORED_FLAGS += -ffunction-sections 589 MODGUI_IGNORED_FLAGS += -fno-gnu-unique 590 MODGUI_IGNORED_FLAGS += -fprefetch-loop-arrays 591 MODGUI_IGNORED_FLAGS += -fvisibility=hidden 592 MODGUI_IGNORED_FLAGS += -fvisibility-inlines-hidden 593 MODGUI_IGNORED_FLAGS += -fPIC 594 MODGUI_IGNORED_FLAGS += -ldl 595 MODGUI_IGNORED_FLAGS += -mfpmath=sse 596 MODGUI_IGNORED_FLAGS += -msse 597 MODGUI_IGNORED_FLAGS += -msse2 598 MODGUI_IGNORED_FLAGS += -mtune=generic 599 MODGUI_IGNORED_FLAGS += -pipe 600 MODGUI_IGNORED_FLAGS += -std=gnu99 601 MODGUI_IGNORED_FLAGS += -std=gnu++11 602 MODGUI_IGNORED_FLAGS += -DDISTRHO_PLUGIN_MODGUI_CLASS_NAME='"$(MODGUI_CLASS_NAME)"' 603 MODGUI_IGNORED_FLAGS += -DDGL_OPENGL 604 MODGUI_IGNORED_FLAGS += -DGL_SILENCE_DEPRECATION=1 605 MODGUI_IGNORED_FLAGS += -DHAVE_ALSA 606 MODGUI_IGNORED_FLAGS += -DHAVE_DGL 607 MODGUI_IGNORED_FLAGS += -DHAVE_JACK 608 MODGUI_IGNORED_FLAGS += -DHAVE_LIBLO 609 MODGUI_IGNORED_FLAGS += -DHAVE_OPENGL 610 MODGUI_IGNORED_FLAGS += -DHAVE_PULSEAUDIO 611 MODGUI_IGNORED_FLAGS += -DHAVE_RTAUDIO 612 MODGUI_IGNORED_FLAGS += -DHAVE_SDL2 613 MODGUI_IGNORED_FLAGS += -DNDEBUG 614 MODGUI_IGNORED_FLAGS += -DPIC 615 MODGUI_IGNORED_FLAGS += -I. 616 MODGUI_IGNORED_FLAGS += -I$(DPF_PATH)/distrho 617 MODGUI_IGNORED_FLAGS += -I$(DPF_PATH)/dgl 618 MODGUI_IGNORED_FLAGS += -I$(MOD_WORKDIR)/modduo-static/staging/usr/include 619 MODGUI_IGNORED_FLAGS += -I$(MOD_WORKDIR)/modduox-static/staging/usr/include 620 MODGUI_IGNORED_FLAGS += -I$(MOD_WORKDIR)/moddwarf/staging/usr/include 621 MODGUI_IGNORED_FLAGS += -L$(MOD_WORKDIR)/modduo-static/staging/usr/lib 622 MODGUI_IGNORED_FLAGS += -L$(MOD_WORKDIR)/modduox-static/staging/usr/lib 623 MODGUI_IGNORED_FLAGS += -L$(MOD_WORKDIR)/moddwarf/staging/usr/lib 624 MODGUI_IGNORED_FLAGS += -MD 625 MODGUI_IGNORED_FLAGS += -MP 626 MODGUI_IGNORED_FLAGS += -O2 627 MODGUI_IGNORED_FLAGS += -O3 628 MODGUI_IGNORED_FLAGS += -Wall 629 MODGUI_IGNORED_FLAGS += -Wextra 630 MODGUI_IGNORED_FLAGS += -Wl,-O1,--as-needed,--gc-sections 631 MODGUI_IGNORED_FLAGS += -Wl,-dead_strip,-dead_strip_dylibs 632 MODGUI_IGNORED_FLAGS += -Wl,-x 633 MODGUI_IGNORED_FLAGS += -Wl,--gc-sections 634 MODGUI_IGNORED_FLAGS += -Wl,--no-undefined 635 MODGUI_IGNORED_FLAGS += -Wl,--strip-all 636 MODGUI_IGNORED_FLAGS += -Wno-deprecated-declarations 637 MODGUI_IGNORED_FLAGS += $(DGL_FLAGS) 638 MODGUI_CFLAGS = $(filter-out $(MODGUI_IGNORED_FLAGS),$(BUILD_C_FLAGS)) -D__MOD_DEVICES__ 639 MODGUI_CXXFLAGS = $(filter-out $(MODGUI_IGNORED_FLAGS),$(BUILD_CXX_FLAGS)) -D__MOD_DEVICES__ 640 MODGUI_LDFLAGS = $(filter-out $(MODGUI_IGNORED_FLAGS),$(LINK_FLAGS)) 641 642 $(TARGET_DIR)/$(NAME).lv2/modgui/module.js: $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DGL_LIB) 643 -@mkdir -p $(shell dirname $@) 644 @echo "Creating LV2 plugin modgui for $(NAME)" 645 $(SILENT)$(CXX) $^ $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) \ 646 -sALLOW_MEMORY_GROWTH -sALLOW_TABLE_GROWTH -sDISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=0 -sLZ4=1 \ 647 -sMODULARIZE=1 -sMAIN_MODULE=2 \ 648 -sEXPORTED_FUNCTIONS="['_malloc','_free','_modgui_init','_modgui_param_set','_modgui_patch_set','_modgui_cleanup']" \ 649 -sEXPORTED_RUNTIME_METHODS=['addFunction','lengthBytesUTF8','stringToUTF8','UTF8ToString'] \ 650 -sEXPORT_NAME="Module_$(MODGUI_CLASS_NAME)" \ 651 -o $@ 652 653 modgui: 654 $(MAKE) $(TARGET_DIR)/$(NAME).lv2/modgui/module.js \ 655 EXE_WRAPPER= \ 656 HAVE_OPENGL=true \ 657 MODGUI_BUILD=true \ 658 NOOPT=true \ 659 PKG_CONFIG=false \ 660 USE_GLES2=true \ 661 AR=emar \ 662 CC=emcc \ 663 CXX=em++ \ 664 CFLAGS="-O3 $(MODGUI_CFLAGS)" \ 665 CXXFLAGS="-O3 $(MODGUI_CXXFLAGS)" \ 666 LDFLAGS="-O3 $(MODGUI_LDFLAGS)" 667 668 .PHONY: modgui 669 670 # --------------------------------------------------------------------------------------------------------------------- 671 # VST2 672 673 vst2 vst: $(vst2) $(vst2files) 674 675 ifeq ($(HAVE_DGL),true) 676 $(vst2): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_VST2.cpp.o $(BUILD_DIR)/DistrhoUIMain_VST2.cpp.o $(DGL_LIB) $(DGL_LIB_SHARED) 677 else 678 $(vst2): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_VST2.cpp.o 679 endif 680 -@mkdir -p $(shell dirname $@) 681 @echo "Creating VST2 plugin for $(NAME)" 682 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_VST2) -o $@ 683 684 # --------------------------------------------------------------------------------------------------------------------- 685 # VST3 686 687 vst3: $(vst3) $(vst3files) 688 689 ifeq ($(HAVE_DGL),true) 690 $(vst3): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_VST3.cpp.o $(BUILD_DIR)/DistrhoUIMain_VST3.cpp.o $(DGL_LIB) $(DGL_LIB_SHARED) 691 else 692 $(vst3): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_VST3.cpp.o 693 endif 694 -@mkdir -p $(shell dirname $@) 695 @echo "Creating VST3 plugin for $(NAME)" 696 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_VST3) -o $@ 697 698 # --------------------------------------------------------------------------------------------------------------------- 699 # CLAP 700 701 ifeq ($(HAVE_DGL),true) 702 ifneq ($(HAIKU),true) 703 ifneq ($(WASM),true) 704 CLAP_LIBS = -lpthread 705 endif 706 endif 707 endif 708 709 clap: $(clap) $(clapfiles) 710 711 ifeq ($(HAVE_DGL),true) 712 $(clap): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_CLAP.cpp.o $(BUILD_DIR)/DistrhoUIMain_CLAP.cpp.o $(DGL_LIB) $(DGL_LIB_SHARED) 713 else 714 $(clap): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_CLAP.cpp.o 715 endif 716 -@mkdir -p $(shell dirname $@) 717 @echo "Creating CLAP plugin for $(NAME)" 718 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(CLAP_LIBS) $(SHARED) $(SYMBOLS_CLAP) -o $@ 719 720 # --------------------------------------------------------------------------------------------------------------------- 721 # AU 722 723 au: $(au) $(aufiles) 724 725 ifeq ($(HAVE_DGL),true) 726 $(au): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_AU.cpp.o $(BUILD_DIR)/DistrhoUIMain_AU.cpp.o $(DGL_LIB) 727 else 728 $(au): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_AU.cpp.o 729 endif 730 -@mkdir -p $(shell dirname $@) 731 @echo "Creating AU component for $(NAME)" 732 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) -framework AudioToolbox -framework AudioUnit -framework CoreFoundation $(SHARED) $(SYMBOLS_AU) -o $@ 733 734 # --------------------------------------------------------------------------------------------------------------------- 735 # Export 736 737 ifeq ($(HAVE_DGL),true) 738 $(BUILD_DIR)/export$(APP_EXT): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_EXPORT.cpp.o $(BUILD_DIR)/DistrhoUIMain_EXPORT.cpp.o $(DGL_LIB) 739 else 740 $(BUILD_DIR)/export$(APP_EXT): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_EXPORT.cpp.o 741 endif 742 -@mkdir -p $(shell dirname $@) 743 @echo "Creating export tool for $(NAME)" 744 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) -o $@ 745 746 # --------------------------------------------------------------------------------------------------------------------- 747 # Shared 748 749 shared: $(shared) 750 751 ifeq ($(HAVE_DGL),true) 752 $(shared): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_SHARED.cpp.o $(BUILD_DIR)/DistrhoUIMain_SHARED.cpp.o $(DGL_LIB) $(DGL_LIB_SHARED) 753 else 754 $(shared): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_SHARED.cpp.o 755 endif 756 -@mkdir -p $(shell dirname $@) 757 @echo "Creating shared library for $(NAME)" 758 $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(EXTRA_LIBS) $(EXTRA_DSP_LIBS) $(EXTRA_UI_LIBS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_SHARED) -o $@ 759 760 # --------------------------------------------------------------------------------------------------------------------- 761 # Static 762 763 static: $(static) 764 765 ifeq ($(HAVE_DGL),true) 766 $(static): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_STATIC.cpp.o $(BUILD_DIR)/DistrhoUIMain_STATIC.cpp.o 767 else 768 $(static): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_STATIC.cpp.o 769 endif 770 -@mkdir -p $(shell dirname $@) 771 @echo "Creating static library for $(NAME)" 772 $(SILENT)rm -f $@ 773 $(SILENT)$(AR) crs $@ $^ 774 775 # --------------------------------------------------------------------------------------------------------------------- 776 # macOS files 777 778 $(TARGET_DIR)/%.app/Contents/Info.plist: $(DPF_PATH)/utils/plugin.app/Contents/Info.plist 779 -@mkdir -p $(shell dirname $@) 780 $(SILENT)sed -e "s/@INFO_PLIST_PROJECT_NAME@/$(NAME)/" $< > $@ 781 782 $(TARGET_DIR)/%/Contents/Info.plist: $(DPF_PATH)/utils/plugin.bundle/Contents/Info.plist 783 -@mkdir -p $(shell dirname $@) 784 $(SILENT)sed -e "s/@INFO_PLIST_PROJECT_NAME@/$(NAME)/" $< > $@ 785 786 $(TARGET_DIR)/%/Contents/PkgInfo: $(DPF_PATH)/utils/plugin.bundle/Contents/PkgInfo 787 -@mkdir -p $(shell dirname $@) 788 $(SILENT)cp $< $@ 789 790 $(TARGET_DIR)/%/Resources/empty.lproj: $(DPF_PATH)/utils/plugin.bundle/Contents/Resources/empty.lproj 791 -@mkdir -p $(shell dirname $@) 792 $(SILENT)cp $< $@ 793 794 # --------------------------------------------------------------------------------------------------------------------- 795 # format-specific files 796 797 $(TARGET_DIR)/$(NAME).component/Contents/Info.plist: $(BUILD_DIR)/export$(APP_EXT) 798 -@mkdir -p $(shell dirname $@) 799 cd $(TARGET_DIR)/$(NAME).component/Contents && $(abspath $<) "$(NAME)" 800 801 # --------------------------------------------------------------------------------------------------------------------- 802 803 -include $(OBJS_DSP:%.o=%.d) 804 ifneq ($(UI_TYPE),) 805 -include $(OBJS_UI:%.o=%.d) 806 endif 807 808 -include $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.d 809 -include $(BUILD_DIR)/DistrhoPluginMain_LADSPA.cpp.d 810 -include $(BUILD_DIR)/DistrhoPluginMain_DSSI.cpp.d 811 -include $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.d 812 -include $(BUILD_DIR)/DistrhoPluginMain_VST2.cpp.d 813 -include $(BUILD_DIR)/DistrhoPluginMain_VST3.cpp.d 814 -include $(BUILD_DIR)/DistrhoPluginMain_CLAP.cpp.d 815 -include $(BUILD_DIR)/DistrhoPluginMain_AU.cpp.d 816 -include $(BUILD_DIR)/DistrhoPluginMain_Export.cpp.d 817 -include $(BUILD_DIR)/DistrhoPluginMain_SHARED.cpp.d 818 -include $(BUILD_DIR)/DistrhoPluginMain_STATIC.cpp.d 819 820 -include $(BUILD_DIR)/DistrhoUIMain_JACK.cpp.d 821 -include $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.d 822 -include $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.d 823 -include $(BUILD_DIR)/DistrhoUIMain_VST2.cpp.d 824 -include $(BUILD_DIR)/DistrhoUIMain_VST3.cpp.d 825 -include $(BUILD_DIR)/DistrhoUIMain_CLAP.cpp.d 826 -include $(BUILD_DIR)/DistrhoUIMain_AU.cpp.d 827 -include $(BUILD_DIR)/DistrhoUIMain_SHARED.cpp.d 828 -include $(BUILD_DIR)/DistrhoUIMain_STATIC.cpp.d 829 830 # ---------------------------------------------------------------------------------------------------------------------