From 9c67ed587fa82526f815eb0d0dcb4ff8c627d12b Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 27 Sep 2007 12:11:36 +0000 Subject: [PATCH] added linux makefiles for audio plugin host --- .../build/linux/JuceAudioPluginHost.make | 152 ++++++++++++++++++ extras/audio plugin host/build/linux/Makefile | 25 +++ .../audio plugin host/build/linux/premake.lua | 47 ++++++ .../audio plugin host/build/linux/runpremake | 2 + .../src/host/GraphEditorPanel.cpp | 4 +- 5 files changed, 228 insertions(+), 2 deletions(-) create mode 100644 extras/audio plugin host/build/linux/JuceAudioPluginHost.make create mode 100644 extras/audio plugin host/build/linux/Makefile create mode 100644 extras/audio plugin host/build/linux/premake.lua create mode 100644 extras/audio plugin host/build/linux/runpremake diff --git a/extras/audio plugin host/build/linux/JuceAudioPluginHost.make b/extras/audio plugin host/build/linux/JuceAudioPluginHost.make new file mode 100644 index 0000000000..c329d65916 --- /dev/null +++ b/extras/audio plugin host/build/linux/JuceAudioPluginHost.make @@ -0,0 +1,152 @@ +# C++ Windowed Executable Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` + +ifndef CONFIG + CONFIG=Debug +endif + +ifeq ($(CONFIG),Debug) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Debug + OUTDIR := build + CPPFLAGS := -MMD -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -I "/usr/include" -I "/usr/include/vstsdk2.4" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -D_DEBUG -ggdb + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -mwindows -L"/usr/X11R6/lib/" -L"../../../../bin" -lfreetype -lpthread -lrt -lX11 -lXss -lGL -lGLU -lXinerama -lasound -ljuce_debug + LDDEPS := + RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -I "/usr/include" -I "/usr/include/vstsdk2.4" + TARGET := JuceAudioPluginHost + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +ifeq ($(CONFIG),Release) + BINDIR := build + LIBDIR := build + OBJDIR := build/intermediate/Release + OUTDIR := build + CPPFLAGS := -MMD -D "LINUX=1" -D "NDEBUG=1" -I "/usr/include" -I "/usr/include/vstsdk2.4" + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O2 + CXXFLAGS := $(CFLAGS) + LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -mwindows -s -L"/usr/X11R6/lib/" -L"../../../../bin" -lfreetype -lpthread -lrt -lX11 -lXss -lGL -lGLU -lXinerama -lasound -ljuce + LDDEPS := + RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -I "/usr/include" -I "/usr/include/vstsdk2.4" + TARGET := JuceAudioPluginHost + BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) +endif + +OBJECTS := \ + $(OBJDIR)/HostStartup.o \ + $(OBJDIR)/FilterGraph.o \ + $(OBJDIR)/GraphEditorPanel.o \ + $(OBJDIR)/InternalFilters.o \ + $(OBJDIR)/MainHostWindow.o \ + $(OBJDIR)/juce_AudioPluginFormat.o \ + $(OBJDIR)/juce_AudioPluginInstance.o \ + $(OBJDIR)/juce_KnownPluginList.o \ + $(OBJDIR)/juce_PluginDescription.o \ + $(OBJDIR)/juce_PluginDirectoryScanner.o \ + $(OBJDIR)/juce_PluginListComponent.o \ + $(OBJDIR)/juce_VSTPluginInstance.o \ + +MKDIR_TYPE := msdos +CMD := $(subst \,\\,$(ComSpec)$(COMSPEC)) +ifeq (,$(CMD)) + MKDIR_TYPE := posix +endif +ifeq (/bin/sh.exe,$(SHELL)) + MKDIR_TYPE := posix +endif +ifeq ($(MKDIR_TYPE),posix) + CMD_MKBINDIR := mkdir -p $(BINDIR) + CMD_MKLIBDIR := mkdir -p $(LIBDIR) + CMD_MKOUTDIR := mkdir -p $(OUTDIR) + CMD_MKOBJDIR := mkdir -p $(OBJDIR) +else + CMD_MKBINDIR := $(CMD) /c if not exist $(subst /,\\,$(BINDIR)) mkdir $(subst /,\\,$(BINDIR)) + CMD_MKLIBDIR := $(CMD) /c if not exist $(subst /,\\,$(LIBDIR)) mkdir $(subst /,\\,$(LIBDIR)) + CMD_MKOUTDIR := $(CMD) /c if not exist $(subst /,\\,$(OUTDIR)) mkdir $(subst /,\\,$(OUTDIR)) + CMD_MKOBJDIR := $(CMD) /c if not exist $(subst /,\\,$(OBJDIR)) mkdir $(subst /,\\,$(OBJDIR)) +endif + +.PHONY: clean + +$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES) + @echo Linking JuceAudioPluginHost + -@$(CMD_MKBINDIR) + -@$(CMD_MKLIBDIR) + -@$(CMD_MKOUTDIR) + @$(BLDCMD) + +clean: + @echo Cleaning JuceAudioPluginHost +ifeq ($(MKDIR_TYPE),posix) + -@rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) +else + -@if exist $(subst /,\,$(OUTDIR)/$(TARGET)) del /q $(subst /,\,$(OUTDIR)/$(TARGET)) + -@if exist $(subst /,\,$(OBJDIR)) del /q $(subst /,\,$(OBJDIR)) + -@if exist $(subst /,\,$(OBJDIR)) rmdir /s /q $(subst /,\,$(OBJDIR)) +endif + +$(OBJDIR)/HostStartup.o: ../../src/HostStartup.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/FilterGraph.o: ../../src/host/FilterGraph.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/GraphEditorPanel.o: ../../src/host/GraphEditorPanel.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/InternalFilters.o: ../../src/host/InternalFilters.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/MainHostWindow.o: ../../src/host/MainHostWindow.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_AudioPluginFormat.o: ../../src/plugins/juce_AudioPluginFormat.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_AudioPluginInstance.o: ../../src/plugins/juce_AudioPluginInstance.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_KnownPluginList.o: ../../src/plugins/juce_KnownPluginList.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_PluginDescription.o: ../../src/plugins/juce_PluginDescription.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_PluginDirectoryScanner.o: ../../src/plugins/juce_PluginDirectoryScanner.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_PluginListComponent.o: ../../src/plugins/juce_PluginListComponent.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +$(OBJDIR)/juce_VSTPluginInstance.o: ../../src/plugins/vst/juce_VSTPluginInstance.cpp + -@$(CMD_MKOBJDIR) + @echo $(notdir $<) + @$(CXX) $(CXXFLAGS) -o $@ -c $< + +-include $(OBJECTS:%.o=%.d) + diff --git a/extras/audio plugin host/build/linux/Makefile b/extras/audio plugin host/build/linux/Makefile new file mode 100644 index 0000000000..867e9ebde5 --- /dev/null +++ b/extras/audio plugin host/build/linux/Makefile @@ -0,0 +1,25 @@ +# Makefile autogenerated by premake +# Don't edit this file! Instead edit `premake.lua` then rerun `make` +# Options: +# CONFIG=[Debug|Release] + +ifndef CONFIG + CONFIG=Debug +endif + +export CONFIG + +.PHONY: all clean JuceAudioPluginHost + +all: JuceAudioPluginHost + +Makefile: premake.lua + @echo ==== Regenerating Makefiles ==== + @premake --file $^ --cc gcc --target gnu + +JuceAudioPluginHost: + @echo ==== Building JuceAudioPluginHost ==== + @$(MAKE) --no-print-directory -C . -f JuceAudioPluginHost.make + +clean: + @$(MAKE) --no-print-directory -C . -f JuceAudioPluginHost.make clean diff --git a/extras/audio plugin host/build/linux/premake.lua b/extras/audio plugin host/build/linux/premake.lua new file mode 100644 index 0000000000..88c5c99947 --- /dev/null +++ b/extras/audio plugin host/build/linux/premake.lua @@ -0,0 +1,47 @@ + +project.name = "JuceAudioPluginHost" +project.bindir = "build" +project.libdir = "build" + +project.configs = { "Debug", "Release" } + +package = newpackage() +package.name = "JuceAudioPluginHost" +package.target = "JuceAudioPluginHost" +package.kind = "winexe" +package.language = "c++" + +package.objdir = "build/intermediate" +package.config["Debug"].objdir = "build/intermediate/Debug" +package.config["Release"].objdir = "build/intermediate/Release" + +package.config["Debug"].defines = { "LINUX=1", "DEBUG=1", "_DEBUG=1" }; +package.config["Debug"].buildoptions = { "-D_DEBUG -ggdb" } + +package.config["Release"].defines = { "LINUX=1", "NDEBUG=1" }; + +package.includepaths = { + "/usr/include", + "/usr/include/vstsdk2.4" +} + +package.libpaths = { + "/usr/X11R6/lib/", + "../../../../bin" +} + +package.config["Debug"].links = { + "freetype", "pthread", "rt", "X11", "Xss", "GL", "GLU", "Xinerama", "asound", "juce_debug" +} + +package.config["Release"].links = { + "freetype", "pthread", "rt", "X11", "Xss", "GL", "GLU", "Xinerama", "asound", "juce" +} + +package.linkflags = { "static-runtime" } + +package.files = { matchrecursive ( + "../../src/*.h", + "../../src/*.cpp" + ) +} diff --git a/extras/audio plugin host/build/linux/runpremake b/extras/audio plugin host/build/linux/runpremake new file mode 100644 index 0000000000..429ac32421 --- /dev/null +++ b/extras/audio plugin host/build/linux/runpremake @@ -0,0 +1,2 @@ +#!/bin/bash +premake --file premake.lua --cc gcc --target gnu diff --git a/extras/audio plugin host/src/host/GraphEditorPanel.cpp b/extras/audio plugin host/src/host/GraphEditorPanel.cpp index 4002dba8d0..e39eeb14d9 100644 --- a/extras/audio plugin host/src/host/GraphEditorPanel.cpp +++ b/extras/audio plugin host/src/host/GraphEditorPanel.cpp @@ -449,8 +449,8 @@ public: const Rectangle newBounds ((int) jmin (x1, x2) - 4, (int) jmin (y1, y2) - 4, - (int) abs (x1 - x2) + 8, - (int) abs (y1 - y2) + 8); + (int) fabsf (x1 - x2) + 8, + (int) fabsf (y1 - y2) + 8); if (newBounds != getBounds()) setBounds (newBounds);