From 41ccd058df136ed69f34dfaa562c5243a3602665 Mon Sep 17 00:00:00 2001
From: Yogi <yapatel@gatech.edu>
Date: Thu, 4 Jun 2015 11:19:12 -0400
Subject: [PATCH] adding makefile for psth, updating includes paths for Juce

---
 Source/Processors/ChannelMappingNode/Makefile |  67 +++++++
 Source/Processors/EventDetector/Makefile      |  55 ++++++
 Source/Processors/EventNode/Makefile          |  61 +++++++
 Source/Processors/ExampleProcessor/Makefile   |  56 ++++++
 Source/Processors/FPGAOutput/Makefile         |  85 +++++++++
 Source/Processors/FileReader/Makefile         |  61 +++++++
 Source/Processors/FilterNode/Makefile         | 163 ++++++++++++++++++
 Source/Processors/LfpDisplayNode/Makefile     |  73 ++++++++
 .../LfpTriggeredAverageNode/Makefile          |  73 ++++++++
 Source/Processors/Merger/Makefile             |  61 +++++++
 .../Processors/NetworkEvents/NetworkEvents.h  |   2 +-
 Source/Processors/PSTH/Makefile               |  73 ++++++++
 .../PSTH/PeriStimulusTimeHistogramNode.h      |   2 +-
 Source/Processors/PSTH/TrialCircularBuffer.h  |   2 +-
 Source/Processors/PSTH/tictoc.h               |   2 +-
 Source/Processors/PhaseDetector/Makefile      |  61 +++++++
 Source/Processors/PulsePalOutput/Makefile     |  73 ++++++++
 Source/Processors/RecordControl/Makefile      |  61 +++++++
 Source/Processors/ResamplingNode/Makefile     | 163 ++++++++++++++++++
 Source/Processors/SignalGenerator/Makefile    |  68 ++++++++
 Source/Processors/SpikeDetector/Makefile      |  68 ++++++++
 Source/Processors/SpikeDisplayNode/Makefile   |  79 +++++++++
 .../Processors/SpikeSorter/SpikeSortBoxes.h   |   2 +-
 Source/Processors/Splitter/Makefile           |  61 +++++++
 Source/Processors/WiFiOutput/Makefile         |  67 +++++++
 25 files changed, 1534 insertions(+), 5 deletions(-)
 create mode 100755 Source/Processors/ChannelMappingNode/Makefile
 create mode 100755 Source/Processors/EventDetector/Makefile
 create mode 100755 Source/Processors/EventNode/Makefile
 create mode 100755 Source/Processors/ExampleProcessor/Makefile
 create mode 100755 Source/Processors/FPGAOutput/Makefile
 create mode 100755 Source/Processors/FileReader/Makefile
 create mode 100755 Source/Processors/FilterNode/Makefile
 create mode 100755 Source/Processors/LfpDisplayNode/Makefile
 create mode 100755 Source/Processors/LfpTriggeredAverageNode/Makefile
 create mode 100755 Source/Processors/Merger/Makefile
 create mode 100755 Source/Processors/PSTH/Makefile
 create mode 100755 Source/Processors/PhaseDetector/Makefile
 create mode 100755 Source/Processors/PulsePalOutput/Makefile
 create mode 100755 Source/Processors/RecordControl/Makefile
 create mode 100755 Source/Processors/ResamplingNode/Makefile
 create mode 100755 Source/Processors/SignalGenerator/Makefile
 create mode 100755 Source/Processors/SpikeDetector/Makefile
 create mode 100755 Source/Processors/SpikeDisplayNode/Makefile
 create mode 100755 Source/Processors/Splitter/Makefile
 create mode 100755 Source/Processors/WiFiOutput/Makefile

diff --git a/Source/Processors/ChannelMappingNode/Makefile b/Source/Processors/ChannelMappingNode/Makefile
new file mode 100755
index 000000000..4a5a7d7de
--- /dev/null
+++ b/Source/Processors/ChannelMappingNode/Makefile
@@ -0,0 +1,67 @@
+TYPE = filters
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := ChannelMappingNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/ChannelMappingEditor.o \
+  $(OBJDIR)/ChannelMappingNode.o \
+  $(OBJDIR)/SpikeDetectorEditor.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/ChannelMappingEditor.o: ChannelMappingEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ChannelMappingEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ChannelMappingNode.o: ChannelMappingNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ChannelMappingNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeDetectorEditor.o: ../SpikeDetector/SpikeDetectorEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeDetectorEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/EventDetector/Makefile b/Source/Processors/EventDetector/Makefile
new file mode 100755
index 000000000..51ce12d72
--- /dev/null
+++ b/Source/Processors/EventDetector/Makefile
@@ -0,0 +1,55 @@
+TYPE = filters
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := EventDetector.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/EventDetector.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/EventDetector.o: EventDetector.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling EventDetector.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/EventNode/Makefile b/Source/Processors/EventNode/Makefile
new file mode 100755
index 000000000..3d1ec08dd
--- /dev/null
+++ b/Source/Processors/EventNode/Makefile
@@ -0,0 +1,61 @@
+TYPE = filters
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := EventNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/EventNodeEditor.o \
+  $(OBJDIR)/EventNode.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/EventNodeEditor.o: EventNodeEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling EventNodeEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/EventNode.o: EventNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling EventNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/ExampleProcessor/Makefile b/Source/Processors/ExampleProcessor/Makefile
new file mode 100755
index 000000000..f9ad4af07
--- /dev/null
+++ b/Source/Processors/ExampleProcessor/Makefile
@@ -0,0 +1,56 @@
+TYPE = sources
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := ExampleProcessor.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/ExampleProcessor.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@rm -rf $(BINDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/ExampleProcessor.o: ExampleProcessor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ExampleProcessor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/FPGAOutput/Makefile b/Source/Processors/FPGAOutput/Makefile
new file mode 100755
index 000000000..3b0d2976d
--- /dev/null
+++ b/Source/Processors/FPGAOutput/Makefile
@@ -0,0 +1,85 @@
+TYPE = sinks
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := FPGAOutput.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/FPGAOutputEditor.o \
+  $(OBJDIR)/FPGAOutput.o \
+	$(OBJDIR)/FPGAThread.o \
+	$(OBJDIR)/DataThread.o \
+	$(OBJDIR)/okFrontPanelDLL.o \
+	$(OBJDIR)/DataBuffer.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/FPGAOutputEditor.o: FPGAOutputEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FPGAOutputEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/FPGAOutput.o: FPGAOutput.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FPGAOutput.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/FPGAThread.o: ../DataThreads/FPGAThread.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FPGAThread.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/DataThread.o: ../DataThreads/DataThread.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling DataThread.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/okFrontPanelDLL.o: ../DataThreads/rhythm-api/okFrontPanelDLL.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling okFrontPanelDLL.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/DataBuffer.o: ../DataThreads/DataBuffer.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling DataBuffer.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/FileReader/Makefile b/Source/Processors/FileReader/Makefile
new file mode 100755
index 000000000..0e81d8571
--- /dev/null
+++ b/Source/Processors/FileReader/Makefile
@@ -0,0 +1,61 @@
+TYPE = sources
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := FileReader.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/FileReaderEditor.o \
+  $(OBJDIR)/FileReader.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/FileReaderEditor.o: FileReaderEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FileReaderEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/FileReader.o: FileReader.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FileReader.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/FilterNode/Makefile b/Source/Processors/FilterNode/Makefile
new file mode 100755
index 000000000..4c83ffb72
--- /dev/null
+++ b/Source/Processors/FilterNode/Makefile
@@ -0,0 +1,163 @@
+TYPE = filters
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := FilterNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/FilterEditor.o \
+  $(OBJDIR)/FilterNode.o \
+  $(OBJDIR)/Bessel.o \
+  $(OBJDIR)/Biquad.o \
+  $(OBJDIR)/Butterworth.o \
+  $(OBJDIR)/Cascade.o \
+  $(OBJDIR)/ChebyshevI.o \
+  $(OBJDIR)/ChebyshevII.o \
+  $(OBJDIR)/Custom.o \
+  $(OBJDIR)/Design.o \
+  $(OBJDIR)/Documentation.o \
+  $(OBJDIR)/Elliptic.o \
+  $(OBJDIR)/Filter.o \
+  $(OBJDIR)/Legendre.o \
+  $(OBJDIR)/Param.o \
+  $(OBJDIR)/PoleFilter.o \
+  $(OBJDIR)/RBJ.o \
+  $(OBJDIR)/RootFinder.o \
+  $(OBJDIR)/State.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/FilterEditor.o: FilterEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FilterEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/FilterNode.o: FilterNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling FilterNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Bessel.o: ../Dsp/Bessel.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Bessel.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Biquad.o: ../Dsp/Biquad.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Biquad.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Butterworth.o: ../Dsp/Butterworth.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Butterworth.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Cascade.o: ../Dsp/Cascade.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Cascade.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ChebyshevI.o: ../Dsp/ChebyshevI.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ChebyshevI.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ChebyshevII.o: ../Dsp/ChebyshevII.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ChebyshevII.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Custom.o: ../Dsp/Custom.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Custom.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Design.o: ../Dsp/Design.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Design.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Documentation.o: ../Dsp/Documentation.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Documentation.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Elliptic.o: ../Dsp/Elliptic.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Elliptic.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Filter.o: ../Dsp/Filter.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Filter.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Legendre.o: ../Dsp/Legendre.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Legendre.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Param.o: ../Dsp/Param.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Param.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PoleFilter.o: ../Dsp/PoleFilter.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PoleFilter.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/RBJ.o: ../Dsp/RBJ.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling RBJ.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/RootFinder.o: ../Dsp/RootFinder.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling RootFinder.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/State.o: ../Dsp/State.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling State.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/LfpDisplayNode/Makefile b/Source/Processors/LfpDisplayNode/Makefile
new file mode 100755
index 000000000..92d2433d4
--- /dev/null
+++ b/Source/Processors/LfpDisplayNode/Makefile
@@ -0,0 +1,73 @@
+TYPE = sinks
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := LfpDisplayNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/LfpDisplayEditor.o \
+  $(OBJDIR)/LfpDisplayNode.o \
+  $(OBJDIR)/LfpDisplayCanvas.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@rm -rf $(BINDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/LfpDisplayEditor.o: LfpDisplayEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling LfpDisplayEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/LfpDisplayCanvas.o: LfpDisplayCanvas.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling LfpDisplayCanvas.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/LfpDisplayNode.o: LfpDisplayNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling LfpDisplayNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/VisualizerEditor.o: ../Editors/VisualizerEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling VisualizerEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/LfpTriggeredAverageNode/Makefile b/Source/Processors/LfpTriggeredAverageNode/Makefile
new file mode 100755
index 000000000..db66cc17f
--- /dev/null
+++ b/Source/Processors/LfpTriggeredAverageNode/Makefile
@@ -0,0 +1,73 @@
+TYPE = sinks
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := LfpTriggeredAverageNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/LfpTriggeredAverageEditor.o \
+  $(OBJDIR)/LfpTriggeredAverageNode.o \
+  $(OBJDIR)/LfpTriggeredAverageCanvas.o \
+  $(OBJDIR)/VisualizerEditor.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/LfpTriggeredAverageEditor.o: LfpTriggeredAverageEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling LfpTriggeredAverageEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/LfpTriggeredAverageCanvas.o: LfpTriggeredAverageCanvas.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling LfpTriggeredAverageCanvas.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/LfpTriggeredAverageNode.o: LfpTriggeredAverageNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling LfpTriggeredAverageNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/VisualizerEditor.o: ../Editors/VisualizerEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling VisualizerEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/Merger/Makefile b/Source/Processors/Merger/Makefile
new file mode 100755
index 000000000..0c339da29
--- /dev/null
+++ b/Source/Processors/Merger/Makefile
@@ -0,0 +1,61 @@
+TYPE = utilities
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := Merger.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/MergerEditor.o \
+  $(OBJDIR)/Merger.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/MergerEditor.o: MergerEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling MergerEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Merger.o: Merger.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Merger.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/NetworkEvents/NetworkEvents.h b/Source/Processors/NetworkEvents/NetworkEvents.h
index 2aca9ba51..3c7c49887 100644
--- a/Source/Processors/NetworkEvents/NetworkEvents.h
+++ b/Source/Processors/NetworkEvents/NetworkEvents.h
@@ -37,7 +37,7 @@
 
 #endif
 
-#include "../../JuceLibraryCode/JuceHeader.h"
+#include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../GenericProcessor/GenericProcessor.h"
 #include "../ProcessorGraph/ProcessorGraph.h"
 
diff --git a/Source/Processors/PSTH/Makefile b/Source/Processors/PSTH/Makefile
new file mode 100755
index 000000000..952f9cc1b
--- /dev/null
+++ b/Source/Processors/PSTH/Makefile
@@ -0,0 +1,73 @@
+TYPE = utilities
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := PeriStimulusTimeHistogramEditor.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/PeriStimulusTimeHistogramEditor.o \
+  $(OBJDIR)/PeriStimulusTimeHistogramNode.o \
+  $(OBJDIR)/TrialCircularBuffer.o \
+  $(OBJDIR)/tictoc.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/PeriStimulusTimeHistogramEditorEditor.o: PeriStimulusTimeHistogramEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PeriStimulusTimeHistogramEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PeriStimulusTimeHistogramEditor.o: PeriStimulusTimeHistogramNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PeriStimulusTimeHistogramNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/TrialCircularBuffer.o: TrialCircularBuffer.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling TrialCircularBuffer.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/tictoc.o: tictoc.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling tictoc.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.h b/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.h
index 78660b415..cb42a6c9e 100644
--- a/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.h
+++ b/Source/Processors/PSTH/PeriStimulusTimeHistogramNode.h
@@ -24,7 +24,7 @@
 #ifndef PSTHNODE_H_
 #define PSTHNODE_H_
 
-#include "../../JuceLibraryCode/JuceHeader.h"
+#include "../../../JuceLibraryCode/JuceHeader.h"
 //#include "../Editors/SpikeDisplayEditor.h"
 #include "../Editors/VisualizerEditor.h"
 #include "../NetworkEvents/NetworkEvents.h"
diff --git a/Source/Processors/PSTH/TrialCircularBuffer.h b/Source/Processors/PSTH/TrialCircularBuffer.h
index 7706a4f9a..c2d1e5f96 100644
--- a/Source/Processors/PSTH/TrialCircularBuffer.h
+++ b/Source/Processors/PSTH/TrialCircularBuffer.h
@@ -24,7 +24,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef __TRIALCIRCULARBUFFER_H__
 #define __TRIALCIRCULARBUFFER_H__
 
-#include "../../JuceLibraryCode/JuceHeader.h"
+#include "../../../JuceLibraryCode/JuceHeader.h"
 #include "../GenericProcessor/GenericProcessor.h"
 #include "../Visualization/SpikeObject.h"
 #include "../Visualization/MatlabLikePlot.h"
diff --git a/Source/Processors/PSTH/tictoc.h b/Source/Processors/PSTH/tictoc.h
index ee2490f46..8cc2f17c1 100644
--- a/Source/Processors/PSTH/tictoc.h
+++ b/Source/Processors/PSTH/tictoc.h
@@ -25,7 +25,7 @@
 #ifndef __TICTOC_H
 #define __TICTOC_H
 
-#include "../../JuceLibraryCode/JuceHeader.h"
+#include "../../../JuceLibraryCode/JuceHeader.h"
 class TicToc
 {
 public:
diff --git a/Source/Processors/PhaseDetector/Makefile b/Source/Processors/PhaseDetector/Makefile
new file mode 100755
index 000000000..32ad83683
--- /dev/null
+++ b/Source/Processors/PhaseDetector/Makefile
@@ -0,0 +1,61 @@
+TYPE = filters
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := PhaseDetector.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/PhaseDetectorEditor.o \
+  $(OBJDIR)/PhaseDetector.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/PhaseDetectorEditor.o: PhaseDetectorEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PhaseDetectorEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PhaseDetector.o: PhaseDetector.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PhaseDetector.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/PulsePalOutput/Makefile b/Source/Processors/PulsePalOutput/Makefile
new file mode 100755
index 000000000..e1abe2f48
--- /dev/null
+++ b/Source/Processors/PulsePalOutput/Makefile
@@ -0,0 +1,73 @@
+TYPE = sinks
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := PulsePalOutput.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/PulsePalOutputEditor.o \
+  $(OBJDIR)/PulsePalOutput.o \
+  $(OBJDIR)/PulsePal.o \
+  $(OBJDIR)/ofSerial.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/PulsePalOutputEditor.o: PulsePalOutputEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PulsePalOutputEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PulsePalOutput.o: PulsePalOutput.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PulsePalOutput.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PulsePal.o: PulsePal.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PulsePal.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ofSerial.o: ../Serial/ofSerial.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ofSerial.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/RecordControl/Makefile b/Source/Processors/RecordControl/Makefile
new file mode 100755
index 000000000..532d329f1
--- /dev/null
+++ b/Source/Processors/RecordControl/Makefile
@@ -0,0 +1,61 @@
+TYPE = utilities
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := RecordControl.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/RecordControlEditor.o \
+  $(OBJDIR)/RecordControl.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/RecordControlEditor.o: RecordControlEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling RecordControlEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/RecordControl.o: RecordControl.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling RecordControl.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/ResamplingNode/Makefile b/Source/Processors/ResamplingNode/Makefile
new file mode 100755
index 000000000..4c3942c5d
--- /dev/null
+++ b/Source/Processors/ResamplingNode/Makefile
@@ -0,0 +1,163 @@
+TYPE = sources
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := ResamplingNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/ResamplingNodeEditor.o \
+  $(OBJDIR)/ResamplingNode.o \
+  $(OBJDIR)/Bessel.o \
+  $(OBJDIR)/Biquad.o \
+  $(OBJDIR)/Butterworth.o \
+  $(OBJDIR)/Cascade.o \
+  $(OBJDIR)/ChebyshevI.o \
+  $(OBJDIR)/ChebyshevII.o \
+  $(OBJDIR)/Custom.o \
+  $(OBJDIR)/Design.o \
+  $(OBJDIR)/Documentation.o \
+  $(OBJDIR)/Elliptic.o \
+  $(OBJDIR)/Filter.o \
+  $(OBJDIR)/Legendre.o \
+  $(OBJDIR)/Param.o \
+  $(OBJDIR)/PoleFilter.o \
+  $(OBJDIR)/RBJ.o \
+  $(OBJDIR)/RootFinder.o \
+  $(OBJDIR)/State.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/ResamplingNodeEditor.o: ResamplingNodeEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ResamplingNodeEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ResamplingNode.o: ResamplingNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ResamplingNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Bessel.o: ../Dsp/Bessel.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Bessel.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Biquad.o: ../Dsp/Biquad.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Biquad.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Butterworth.o: ../Dsp/Butterworth.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Butterworth.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Cascade.o: ../Dsp/Cascade.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Cascade.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ChebyshevI.o: ../Dsp/ChebyshevI.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ChebyshevI.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/ChebyshevII.o: ../Dsp/ChebyshevII.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling ChebyshevII.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Custom.o: ../Dsp/Custom.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Custom.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Design.o: ../Dsp/Design.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Design.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Documentation.o: ../Dsp/Documentation.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Documentation.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Elliptic.o: ../Dsp/Elliptic.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Elliptic.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Filter.o: ../Dsp/Filter.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Filter.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Legendre.o: ../Dsp/Legendre.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Legendre.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Param.o: ../Dsp/Param.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Param.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PoleFilter.o: ../Dsp/PoleFilter.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PoleFilter.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/RBJ.o: ../Dsp/RBJ.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling RBJ.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/RootFinder.o: ../Dsp/RootFinder.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling RootFinder.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/State.o: ../Dsp/State.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling State.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/SignalGenerator/Makefile b/Source/Processors/SignalGenerator/Makefile
new file mode 100755
index 000000000..5d2c248ee
--- /dev/null
+++ b/Source/Processors/SignalGenerator/Makefile
@@ -0,0 +1,68 @@
+TYPE = sources
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := SignalGenerator.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/SignalGeneratorEditor.o \
+  $(OBJDIR)/SignalGenerator.o \
+  $(OBJDIR)/SpikeObject.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} installed.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@rm -rf $(BINDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/SignalGeneratorEditor.o: SignalGeneratorEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SignalGeneratorEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SignalGenerator.o: SignalGenerator.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SignalGenerator.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeObject.o: ../Visualization/SpikeObject.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeObject.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/SpikeDetector/Makefile b/Source/Processors/SpikeDetector/Makefile
new file mode 100755
index 000000000..1b5965658
--- /dev/null
+++ b/Source/Processors/SpikeDetector/Makefile
@@ -0,0 +1,68 @@
+TYPE = utilities
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := SpikeDetector.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/SpikeDetector.o \
+  $(OBJDIR)/SpikeDetectorEditor.o \
+  $(OBJDIR)/SpikeObject.o \
+#$(OBJDIR)/Channel.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} linked.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/SpikeDetector.o: ../SpikeDetector/SpikeDetector.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeDetector.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeDetectorEditor.o: SpikeDetectorEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeDetectorEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeObject.o: ../Visualization/SpikeObject.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeObject.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/SpikeDisplayNode/Makefile b/Source/Processors/SpikeDisplayNode/Makefile
new file mode 100755
index 000000000..dbe00688b
--- /dev/null
+++ b/Source/Processors/SpikeDisplayNode/Makefile
@@ -0,0 +1,79 @@
+TYPE = sinks
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := SpikeDisplayNode.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/SpikeDisplayEditor.o \
+  $(OBJDIR)/SpikeDisplayNode.o \
+	$(OBJDIR)/SpikeDisplayCanvas.o \
+	$(OBJDIR)/VisualizerEditor.o \
+	$(OBJDIR)/SpikeObject.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} linked.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/SpikeDisplayEditor.o: SpikeDisplayEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeDisplayEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeDisplayCanvas.o: SpikeDisplayCanvas.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeDisplayCanvas.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeDisplayNode.o: SpikeDisplayNode.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeDisplayNode.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/VisualizerEditor.o: ../Editors/VisualizerEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling VisualizerEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/SpikeObject.o: ../Visualization/SpikeObject.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SpikeObject.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/SpikeSorter/SpikeSortBoxes.h b/Source/Processors/SpikeSorter/SpikeSortBoxes.h
index 8d58de722..f55e83285 100644
--- a/Source/Processors/SpikeSorter/SpikeSortBoxes.h
+++ b/Source/Processors/SpikeSorter/SpikeSortBoxes.h
@@ -24,7 +24,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef __SPIKESORTBOXES_H
 #define __SPIKESORTBOXES_H
 
-#include "../../JuceLibraryCode/JuceHeader.h"
+#include "../../../JuceLibraryCode/JuceHeader.h"
 
 #include "../GenericProcessor/GenericProcessor.h"
 #include "SpikeSorterEditor.h"
diff --git a/Source/Processors/Splitter/Makefile b/Source/Processors/Splitter/Makefile
new file mode 100755
index 000000000..9a63e5854
--- /dev/null
+++ b/Source/Processors/Splitter/Makefile
@@ -0,0 +1,61 @@
+TYPE = utilities
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := Splitter.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/SplitterEditor.o \
+  $(OBJDIR)/Splitter.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} linked.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/SplitterEditor.o: SplitterEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling SplitterEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/Splitter.o: Splitter.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling Splitter.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
diff --git a/Source/Processors/WiFiOutput/Makefile b/Source/Processors/WiFiOutput/Makefile
new file mode 100755
index 000000000..558427343
--- /dev/null
+++ b/Source/Processors/WiFiOutput/Makefile
@@ -0,0 +1,67 @@
+TYPE = sinks
+
+ifeq ($(TARGET_ARCH),)
+  TARGET_ARCH := -march=native
+endif
+
+# (this disables dependency generation if multiple architectures are set)
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
+
+PLUGINDIR := /usr/local/lib/GUI
+BINDIR := build
+LIBDIR := build
+OBJDIR := build/intermediate/Debug
+OUTDIR := build
+CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -fPIC -O0
+CXXFLAGS += $(CFLAGS) 
+LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -shared -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lephys 
+LDDEPS :=
+RESFLAGS :=  -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I /usr/include -I /usr/include/freetype2 -I ../../../JuceLibraryCode
+TARGET := WiFiOutput.so
+BLDCMD = $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
+
+OBJECTS := \
+  $(OBJDIR)/WiFiOutputEditor.o \
+  $(OBJDIR)/WiFiOutput.o \
+  $(OBJDIR)/PracticalSocket.o \
+
+.PHONY: clean install
+
+$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
+	-@mkdir -p $(BINDIR)
+	-@mkdir -p $(LIBDIR)
+	-@mkdir -p $(OUTDIR)
+	@$(BLDCMD)
+
+install:
+	@echo ${TARGET} linked.
+	-@sudo mv $(BINDIR)/$(TARGET) $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+clean:
+	@echo Plugin cleaned.
+	-@rm -f $(OUTDIR)/$(TARGET)
+	-@rm -rf $(OBJDIR)/*
+	-@rm -rf $(OBJDIR)
+	-@sudo rm -rf $(PLUGINDIR)/$(TYPE)/$(TARGET)
+
+strip:
+	@echo Plugin stripped.
+	-@strip --strip-unneeded $(OUTDIR)/$(TARGET)
+
+$(OBJDIR)/WiFiOutputEditor.o: WiFiOutputEditor.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling WiFiOutputEditor.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/WiFiOutput.o: WiFiOutput.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling WiFiOutput.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+$(OBJDIR)/PracticalSocket.o: ../../Network/PracticalSocket.cpp
+	-@mkdir -p $(OBJDIR)
+	@echo "Compiling PracticalSocket.cpp"
+	@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
+-include $(OBJECTS:%.o=%.d)
-- 
GitLab