Browse Source

Simplify makefiles, remove useless UI

master
falkTX 6 years ago
parent
commit
cbef7d1b07
22 changed files with 16 additions and 6912 deletions
  1. +2
    -3
      .gitignore
  2. +1
    -1
      .gitmodules
  3. +8
    -15
      Makefile
  4. +0
    -150
      Makefile.mk
  5. +0
    -3
      bin/README
  6. +1
    -1
      dpf
  7. +0
    -21
      modguis/Kars.modgui/manifest.ttl
  8. +0
    -41
      modguis/Kars.modgui/modgui/icon-kars.html
  9. BIN
      modguis/Kars.modgui/modgui/pedals/boxy-small/yellow.png
  10. BIN
      modguis/Kars.modgui/modgui/pedals/footswitch.png
  11. BIN
      modguis/Kars.modgui/modgui/screenshot-kars.png
  12. +0
    -1065
      modguis/Kars.modgui/modgui/stylesheet-kars.css
  13. BIN
      modguis/Kars.modgui/modgui/thumbnail-kars.png
  14. +0
    -5264
      plugins/Kars/DistrhoArtworkKars.cpp
  15. +0
    -20
      plugins/Kars/DistrhoArtworkKars.hpp
  16. +1
    -2
      plugins/Kars/DistrhoPluginInfo.h
  17. +0
    -77
      plugins/Kars/DistrhoUIKars.cpp
  18. +0
    -60
      plugins/Kars/DistrhoUIKars.hpp
  19. +3
    -26
      plugins/Kars/Makefile
  20. BIN
      plugins/Kars/artwork/background.png
  21. BIN
      plugins/Kars/artwork/switch.png
  22. +0
    -163
      plugins/Makefile.mk

+ 2
- 3
.gitignore View File

@@ -11,6 +11,5 @@
.kdev_include_paths .kdev_include_paths
.kdev4/ .kdev4/


bin/*-dssi/
bin/*.lv2/
bin/Kars
bin/
build/

+ 1
- 1
.gitmodules View File

@@ -1,3 +1,3 @@
[submodule "dpf"] [submodule "dpf"]
path = dpf path = dpf
url = git://github.com/DISTRHO/DPF
url = https://github.com/DISTRHO/DPF

+ 8
- 15
Makefile View File

@@ -4,24 +4,16 @@
# Created by falkTX # Created by falkTX
# #


include Makefile.mk
include dpf/Makefile.base.mk


all: libs plugins modguis gen
all: plugins gen


# -------------------------------------------------------------- # --------------------------------------------------------------


libs:
ifeq ($(HAVE_DGL),true)
$(MAKE) -C dpf/dgl
endif

plugins: libs
plugins:
$(MAKE) all -C plugins/Kars $(MAKE) all -C plugins/Kars


modguis: plugins
cp -r modguis/Kars.modgui/modgui bin/Kars.lv2/
cp modguis/Kars.modgui/manifest.ttl bin/Kars.lv2/modgui.ttl

ifneq ($(CROSS_COMPILING),true)
gen: plugins dpf/utils/lv2_ttl_generator gen: plugins dpf/utils/lv2_ttl_generator
@$(CURDIR)/dpf/utils/generate-ttl.sh @$(CURDIR)/dpf/utils/generate-ttl.sh
ifeq ($(MACOS),true) ifeq ($(MACOS),true)
@@ -30,15 +22,16 @@ endif


dpf/utils/lv2_ttl_generator: dpf/utils/lv2_ttl_generator:
$(MAKE) -C dpf/utils/lv2-ttl-generator $(MAKE) -C dpf/utils/lv2-ttl-generator
else
gen:
endif


# -------------------------------------------------------------- # --------------------------------------------------------------


clean: clean:
ifeq ($(HAVE_DGL),true)
$(MAKE) clean -C dpf/dgl
endif
$(MAKE) clean -C dpf/utils/lv2-ttl-generator $(MAKE) clean -C dpf/utils/lv2-ttl-generator
$(MAKE) clean -C plugins/Kars $(MAKE) clean -C plugins/Kars
rm -rf bin build


# -------------------------------------------------------------- # --------------------------------------------------------------




+ 0
- 150
Makefile.mk View File

@@ -1,150 +0,0 @@
#!/usr/bin/make -f
# Makefile for DISTRHO Plugins #
# ---------------------------- #
# Created by falkTX
#

AR ?= ar
CC ?= gcc
CXX ?= g++

# --------------------------------------------------------------
# Fallback to Linux if no other OS defined

ifneq ($(HAIKU),true)
ifneq ($(MACOS),true)
ifneq ($(WIN32),true)
LINUX=true
endif
endif
endif

# --------------------------------------------------------------
# Set build and link flags

BASE_FLAGS = -Wall -Wextra -pipe
BASE_OPTS = -O2 -ffast-math -mtune=generic -msse -msse2 -fdata-sections -ffunction-sections

ifneq ($(MACOS),true)
# MacOS doesn't support this
BASE_OPTS += -mfpmath=sse
endif

ifeq ($(MACOS),true)
# MacOS linker flags
LINK_OPTS = -fdata-sections -ffunction-sections -Wl,-dead_strip -Wl,-dead_strip_dylibs
else
# Common linker flags
LINK_OPTS = -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-O1 -Wl,--as-needed
ifneq ($(SKIP_STRIPPING),true)
LINK_OPTS += -Wl,--strip-all
endif
endif

ifeq ($(RASPPI),true)
# Raspberry-Pi optimization flags
BASE_OPTS = -O2 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard
LINK_OPTS = -Wl,-O1 -Wl,--as-needed -Wl,--strip-all
endif

ifeq ($(PANDORA),true)
# OpenPandora optimization flags
BASE_OPTS = -O2 -ffast-math -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
LINK_OPTS = -Wl,-O1 -Wl,--as-needed -Wl,--strip-all
endif

ifeq ($(NOOPT),true)
# No optimization flags
BASE_OPTS = -O2 -ffast-math -fdata-sections -ffunction-sections
endif

ifneq ($(WIN32),true)
# not needed for Windows
BASE_FLAGS += -fPIC -DPIC
endif

ifeq ($(DEBUG),true)
BASE_FLAGS += -DDEBUG -O0 -g
LINK_OPTS =
else
BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden
CXXFLAGS += -fvisibility-inlines-hidden
endif

BUILD_C_FLAGS = $(BASE_FLAGS) -std=c99 -std=gnu99 $(CFLAGS)
BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=c++0x -std=gnu++0x $(CXXFLAGS) $(CPPFLAGS)
LINK_FLAGS = $(LINK_OPTS) -Wl,--no-undefined $(LDFLAGS)

ifeq ($(MACOS),true)
# No C++11 support
BUILD_CXX_FLAGS = $(BASE_FLAGS) $(CXXFLAGS) $(CPPFLAGS)
LINK_FLAGS = $(LINK_OPTS) $(LDFLAGS)
endif

# --------------------------------------------------------------
# Check for optional libs

ifeq ($(LINUX),true)
HAVE_DGL = $(shell pkg-config --exists gl x11 && echo true)
HAVE_JACK = $(shell pkg-config --exists jack && echo true)
HAVE_LIBLO = $(shell pkg-config --exists liblo && echo true)
endif

ifeq ($(MACOS),true)
HAVE_DGL = true
endif

ifeq ($(WIN32),true)
HAVE_DGL = true
endif

# --------------------------------------------------------------
# Set libs stuff

ifeq ($(HAVE_DGL),true)

ifeq ($(LINUX),true)
DGL_FLAGS = $(shell pkg-config --cflags gl x11)
DGL_LIBS = $(shell pkg-config --libs gl x11)
endif

ifeq ($(MACOS),true)
DGL_LIBS = -framework OpenGL -framework Cocoa
endif

ifeq ($(WIN32),true)
DGL_LIBS = -lopengl32 -lgdi32
endif

endif # HAVE_DGL

# --------------------------------------------------------------
# Set app extension

ifeq ($(WIN32),true)
APP_EXT = .exe
endif

# --------------------------------------------------------------
# Set shared lib extension

LIB_EXT = .so

ifeq ($(MACOS),true)
LIB_EXT = .dylib
endif

ifeq ($(WIN32),true)
LIB_EXT = .dll
endif

# --------------------------------------------------------------
# Set shared library CLI arg

SHARED = -shared

ifeq ($(MACOS),true)
SHARED = -dynamiclib
endif

# --------------------------------------------------------------

+ 0
- 3
bin/README View File

@@ -1,3 +0,0 @@
All final plugin builds will be placed in this folder.

There is no "make install" process, simply copy those files to their appropriate place.

+ 1
- 1
dpf

@@ -1 +1 @@
Subproject commit c3a3ee004eb5427067488f425540ba54336e4d38
Subproject commit ea7545a13ab9793b5608b13a82f1ad9cf9ec5e98

+ 0
- 21
modguis/Kars.modgui/manifest.ttl View File

@@ -1,21 +0,0 @@
@prefix modgui: <http://moddevices.com/ns/modgui#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .

<http://distrho.sf.net/plugins/Kars>
modgui:gui [
modgui:resourcesDirectory <modgui> ;
modgui:iconTemplate <modgui/icon-kars.html> ;
modgui:stylesheet <modgui/stylesheet-kars.css> ;
modgui:screenshot <modgui/screenshot-kars.png> ;
modgui:thumbnail <modgui/thumbnail-kars.png> ;
modgui:brand "DISTRHO" ;
modgui:label "Kars" ;
modgui:model "boxy-small" ;
modgui:panel "1-footswitch" ;
modgui:color "yellow" ;
modgui:port [
lv2:index 0 ;
lv2:symbol "sustain" ;
lv2:name "Sustain" ;
] ;
] .

+ 0
- 41
modguis/Kars.modgui/modgui/icon-kars.html View File

@@ -1,41 +0,0 @@
<div class="mod-pedal mod-pedal-boxy{{{cns}}} mod-boxy50 mod-one-footswitch mod-{{color}} {{color}}">
<div mod-role="drag-handle" class="mod-drag-handle"></div>
<div class="mod-plugin-brand"><h1>{{brand}}</h1></div>
<div class="mod-plugin-name"><h1>{{label}}</h1></div>
<div class="mod-light on" mod-role="bypass-light"></div>
<div class="mod-footswitch" mod-role="bypass"></div>
<div class="mod-pedal-input">
{{#effect.ports.audio.input}}
<div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-audio-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-input-image"></div>
</div>
{{/effect.ports.audio.input}}
{{#effect.ports.midi.input}}
<div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-midi-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-input-image"></div>
</div>
{{/effect.ports.midi.input}}
{{#effect.ports.cv.input}}
<div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-cv-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-input-image"></div>
</div>
{{/effect.ports.cv.input}}
</div>
<div class="mod-pedal-output">
{{#effect.ports.audio.output}}
<div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-audio-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-output-image"></div>
</div>
{{/effect.ports.audio.output}}
{{#effect.ports.midi.output}}
<div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-midi-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-output-image"></div>
</div>
{{/effect.ports.midi.output}}
{{#effect.ports.cv.output}}
<div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-cv-port" mod-port-symbol="{{symbol}}">
<div class="mod-pedal-output-image"></div>
</div>
{{/effect.ports.cv.output}}
</div>
</div>

BIN
modguis/Kars.modgui/modgui/pedals/boxy-small/yellow.png View File

Before After
Width: 301  |  Height: 315  |  Size: 171KB

BIN
modguis/Kars.modgui/modgui/pedals/footswitch.png View File

Before After
Width: 88  |  Height: 176  |  Size: 13KB

BIN
modguis/Kars.modgui/modgui/screenshot-kars.png View File

Before After
Width: 332  |  Height: 314  |  Size: 177KB

+ 0
- 1065
modguis/Kars.modgui/modgui/stylesheet-kars.css
File diff suppressed because it is too large
View File


BIN
modguis/Kars.modgui/modgui/thumbnail-kars.png View File

Before After
Width: 67  |  Height: 64  |  Size: 7.1KB

+ 0
- 5264
plugins/Kars/DistrhoArtworkKars.cpp
File diff suppressed because it is too large
View File


+ 0
- 20
plugins/Kars/DistrhoArtworkKars.hpp View File

@@ -1,20 +0,0 @@
/* (Auto-generated binary data file). */

#ifndef BINARY_DISTRHOARTWORKKARS_HPP
#define BINARY_DISTRHOARTWORKKARS_HPP

namespace DistrhoArtworkKars
{
extern const char* backgroundData;
const unsigned int backgroundDataSize = 379260;
const unsigned int backgroundWidth = 301;
const unsigned int backgroundHeight = 315;

extern const char* switchData;
const unsigned int switchDataSize = 61952;
const unsigned int switchWidth = 88;
const unsigned int switchHeight = 176;
}

#endif // BINARY_DISTRHOARTWORKKARS_HPP


+ 1
- 2
plugins/Kars/DistrhoPluginInfo.h View File

@@ -21,11 +21,10 @@
#define DISTRHO_PLUGIN_NAME "Kars" #define DISTRHO_PLUGIN_NAME "Kars"
#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/Kars" #define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/Kars"


#define DISTRHO_PLUGIN_HAS_UI 1
#define DISTRHO_PLUGIN_HAS_UI 0
#define DISTRHO_PLUGIN_IS_RT_SAFE 1 #define DISTRHO_PLUGIN_IS_RT_SAFE 1
#define DISTRHO_PLUGIN_IS_SYNTH 1 #define DISTRHO_PLUGIN_IS_SYNTH 1
#define DISTRHO_PLUGIN_NUM_INPUTS 0 #define DISTRHO_PLUGIN_NUM_INPUTS 0
#define DISTRHO_PLUGIN_NUM_OUTPUTS 1 #define DISTRHO_PLUGIN_NUM_OUTPUTS 1
#define DISTRHO_PLUGIN_USES_MODGUI 1


#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED #endif // DISTRHO_PLUGIN_INFO_H_INCLUDED

+ 0
- 77
plugins/Kars/DistrhoUIKars.cpp View File

@@ -1,77 +0,0 @@
/*
* DISTRHO Kars Plugin, based on karplong by Chris Cannam.
* Copyright (C) 2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#include "DistrhoPluginKars.hpp"
#include "DistrhoUIKars.hpp"

START_NAMESPACE_DISTRHO

namespace Art = DistrhoArtworkKars;

// -----------------------------------------------------------------------

DistrhoUIKars::DistrhoUIKars()
: UI(Art::backgroundWidth, Art::backgroundHeight),
fImgBackground(Art::backgroundData, Art::backgroundWidth, Art::backgroundHeight)
{
// sustain switch
Image switchImageNormal(Art::switchData, Art::switchWidth, Art::switchHeight/2);
Image switchImageDown(Art::switchData+(Art::switchWidth*Art::switchHeight/2*4), Art::switchWidth, Art::switchHeight/2);
fSwitchSustain = new ImageSwitch(this, switchImageNormal, switchImageDown);
fSwitchSustain->setAbsolutePos(Art::backgroundWidth/2-Art::switchWidth/2, Art::backgroundHeight/2-Art::switchHeight/4);
fSwitchSustain->setId(DistrhoPluginKars::paramSustain);
fSwitchSustain->setCallback(this);
}

// -----------------------------------------------------------------------
// DSP Callbacks

void DistrhoUIKars::parameterChanged(uint32_t index, float value)
{
if (index != 0)
return;

fSwitchSustain->setDown(value > 0.5f);
}

// -----------------------------------------------------------------------
// Widget Callbacks

void DistrhoUIKars::imageSwitchClicked(ImageSwitch* imageSwitch, bool down)
{
if (imageSwitch != fSwitchSustain)
return;

editParameter(DistrhoPluginKars::paramSustain, true);
setParameterValue(DistrhoPluginKars::paramSustain, down ? 1.0f : 0.0f);
editParameter(DistrhoPluginKars::paramSustain, false);
}

void DistrhoUIKars::onDisplay()
{
fImgBackground.draw();
}

// -----------------------------------------------------------------------

UI* createUI()
{
return new DistrhoUIKars();
}

// -----------------------------------------------------------------------

END_NAMESPACE_DISTRHO

+ 0
- 60
plugins/Kars/DistrhoUIKars.hpp View File

@@ -1,60 +0,0 @@
/*
* DISTRHO Kars Plugin, based on karplong by Chris Cannam.
* Copyright (C) 2015 Filipe Coelho <falktx@falktx.com>
*
* Permission to use, copy, modify, and/or distribute this software for any purpose with
* or without fee is hereby granted, provided that the above copyright notice and this
* permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

#ifndef DISTRHO_UI_KARS_HPP_INCLUDED
#define DISTRHO_UI_KARS_HPP_INCLUDED

#include "DistrhoUI.hpp"

#include "ImageWidgets.hpp"

#include "DistrhoArtworkKars.hpp"

START_NAMESPACE_DISTRHO

// -----------------------------------------------------------------------

class DistrhoUIKars : public UI,
public ImageSwitch::Callback
{
public:
DistrhoUIKars();

protected:
// -------------------------------------------------------------------
// DSP Callbacks

void parameterChanged(uint32_t index, float value) override;

// -------------------------------------------------------------------
// Widget Callbacks

void imageSwitchClicked(ImageSwitch* imageSwitch, bool down) override;

void onDisplay() override;

private:
Image fImgBackground;
ScopedPointer<ImageSwitch> fSwitchSustain;

DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoUIKars)
};

// -----------------------------------------------------------------------

END_NAMESPACE_DISTRHO

#endif // DISTRHO_UI_KARS_HPP_INCLUDED

+ 3
- 26
plugins/Kars/Makefile View File

@@ -12,47 +12,24 @@ NAME = Kars
# -------------------------------------------------------------- # --------------------------------------------------------------
# Files to build # Files to build


OBJS_DSP = \
DistrhoPluginKars.cpp.o

OBJS_UI = \
DistrhoArtworkKars.cpp.o \
DistrhoUIKars.cpp.o
FILES_DSP = \
DistrhoPluginKars.cpp


# -------------------------------------------------------------- # --------------------------------------------------------------
# Do some magic # Do some magic


include ../Makefile.mk
include ../../dpf/Makefile.plugins.mk


# -------------------------------------------------------------- # --------------------------------------------------------------
# Enable all possible plugin types # Enable all possible plugin types


ifeq ($(BUILD_JACK),true)
ifeq ($(HAVE_JACK),true) ifeq ($(HAVE_JACK),true)
TARGETS += jack TARGETS += jack
endif endif
endif


ifeq ($(BUILD_DSSI),true)
TARGETS += dssi_dsp TARGETS += dssi_dsp
ifeq ($(HAVE_DGL),true)
ifeq ($(HAVE_LIBLO),true)
TARGETS += dssi_ui
endif
endif
endif

ifeq ($(BUILD_LV2),true)
ifeq ($(HAVE_DGL),true)
TARGETS += lv2_sep TARGETS += lv2_sep
else
TARGETS += lv2_dsp
endif
endif

ifeq ($(BUILD_VST2),true)
TARGETS += vst TARGETS += vst
endif


all: $(TARGETS) all: $(TARGETS)




BIN
plugins/Kars/artwork/background.png View File

Before After
Width: 301  |  Height: 315  |  Size: 170KB

BIN
plugins/Kars/artwork/switch.png View File

Before After
Width: 88  |  Height: 176  |  Size: 13KB

+ 0
- 163
plugins/Makefile.mk View File

@@ -1,163 +0,0 @@
#!/usr/bin/make -f
# Makefile for DISTRHO Plugins #
# ---------------------------- #
# Created by falkTX
#

# NAME, OBJS_DSP and OBJS_UI have been defined before

include ../../Makefile.mk

ifeq ($(OBJS_UI),)
HAVE_DGL = false
endif

# --------------------------------------------------------------
# Set which plugin formats to build

BUILD_JACK = true
ifeq ($(LINUX),true)
BUILD_DSSI = true
endif
BUILD_LV2 = true
BUILD_VST2 = true

# --------------------------------------------------------------
# Basic setup

TARGET_DIR = ../../bin

BUILD_C_FLAGS += -I.
BUILD_CXX_FLAGS += -I. -I../../dpf/distrho -I../../dpf/dgl

ifeq ($(HAVE_DGL),true)
BASE_FLAGS += -DHAVE_DGL
endif

ifeq ($(HAVE_JACK),true)
BASE_FLAGS += -DHAVE_JACK
endif

ifeq ($(HAVE_LIBLO),true)
BASE_FLAGS += -DHAVE_LIBLO
endif

# --------------------------------------------------------------
# Set plugin binary file targets

jack = $(TARGET_DIR)/$(NAME)$(APP_EXT)
ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT)
dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT)
dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui$(APP_EXT)
lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT)
lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp$(LIB_EXT)
lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui$(LIB_EXT)
vst = $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT)

# --------------------------------------------------------------
# Set distrho code files

DISTRHO_PLUGIN_FILES = ../../dpf/distrho/DistrhoPluginMain.cpp

ifeq ($(HAVE_DGL),true)
DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a
endif

# --------------------------------------------------------------
# Handle plugins without UI

ifneq ($(HAVE_DGL),true)
dssi_ui =
lv2_ui =
DISTRHO_UI_FILES =
DGL_LIBS =
OBJS_UI =
endif

# --------------------------------------------------------------
# all needs to be first

all:

# --------------------------------------------------------------
# Common

%.c.o: %.c
$(CC) $< $(BUILD_C_FLAGS) -MD -MP -c -o $@

%.cpp.o: %.cpp
$(CXX) $< $(BUILD_CXX_FLAGS) -MD -MP -c -o $@

clean:
rm -f *.d *.o
rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/

# --------------------------------------------------------------
# JACK

jack: $(jack)

$(jack): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(DGL_LIBS) $(shell pkg-config --cflags --libs jack) -DDISTRHO_PLUGIN_TARGET_JACK -o $@

# --------------------------------------------------------------
# LADSPA

ladspa: $(ladspa_dsp)

$(ladspa_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LADSPA -o $@

# --------------------------------------------------------------
# DSSI

dssi: $(dssi_dsp) $(dssi_ui)
dssi_dsp: $(dssi_dsp)
dssi_ui: $(dssi_ui)

$(dssi_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@

$(dssi_ui): $(OBJS_UI) $(DISTRHO_UI_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs liblo) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@

# --------------------------------------------------------------
# LV2

lv2_one: $(lv2)
lv2_dsp: $(lv2_dsp)
lv2_sep: $(lv2_dsp) $(lv2_ui)

$(lv2): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@

$(lv2_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@

$(lv2_ui): $(OBJS_UI) $(DISTRHO_UI_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@

# --------------------------------------------------------------
# VST

vst: $(vst)

$(vst): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES)
mkdir -p $(shell dirname $@)
$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_VST -o $@

# --------------------------------------------------------------

-include $(OBJS_DSP:%.o=%.d)
ifeq ($(HAVE_DGL),true)
-include $(OBJS_UI:%.o=%.d)
endif

# --------------------------------------------------------------

Loading…
Cancel
Save