Skip to content
Snippets Groups Projects
Commit 5c387434 authored by Aaron Cuevas Lopez's avatar Aaron Cuevas Lopez
Browse files

Add common lib build for Linux

parent b376526c
No related branches found
No related tags found
No related merge requests found
...@@ -5,13 +5,14 @@ ...@@ -5,13 +5,14 @@
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD) DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
PLUGIN_DIR := ../../Source/Plugins PLUGIN_DIR := ../../Source/Plugins
COMMON_DIR := ../../Source/Plugins/CommonLibs
ifndef CONFIG ifndef CONFIG
CONFIG=Debug CONFIG=Debug
endif endif
ifeq ($(CONFIG),Debug) ifeq ($(CONFIG),Debug)
BINDIR := $(CURDIR)/build/intermediate/Debug BINDIR := $(CURDIR)/build
LIBDIR := $(CURDIR)/build/intermediate/Debug LIBDIR := $(CURDIR)/build/intermediate/Debug
OBJDIR := $(CURDIR)/build/intermediate/plugins/Debug OBJDIR := $(CURDIR)/build/intermediate/plugins/Debug
OUTDIR := $(CURDIR)/build/plugins OUTDIR := $(CURDIR)/build/plugins
...@@ -27,12 +28,12 @@ ifeq ($(CONFIG),Debug) ...@@ -27,12 +28,12 @@ ifeq ($(CONFIG),Debug)
LDDEPS := LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=0.3.5" -D "JUCE_APP_VERSION_HEX=0x305" -I /usr/include -I /usr/include/freetype2 -I $(CURDIR)/../../Source/Plugins/Headers RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=0.3.5" -D "JUCE_APP_VERSION_HEX=0x305" -I /usr/include -I /usr/include/freetype2 -I $(CURDIR)/../../Source/Plugins/Headers
CLEANCMD = rm -rf $(OUTDIR)/* $(OBJDIR) CLEANCMD = rm -rf $(OUTDIR)/* $(OBJDIR) $(BINDIR)/$(addsuffix .so,$(notdir $(COMMONDIRS)))
endif endif
ifeq ($(CONFIG),Release) ifeq ($(CONFIG),Release)
BINDIR := $(CURDIR)/build BINDIR := $(CURDIR)/build
LIBDIR := $(CURDIR)/build LIBDIR := $(CURDIR)/build/intermediate/Release
OBJDIR := $(CURDIR)/build/intermediate/plugins/Release OBJDIR := $(CURDIR)/build/intermediate/plugins/Release
OUTDIR := $(CURDIR)/build/plugins OUTDIR := $(CURDIR)/build/plugins
...@@ -47,16 +48,21 @@ ifeq ($(CONFIG),Release) ...@@ -47,16 +48,21 @@ ifeq ($(CONFIG),Release)
LDDEPS1 := LDDEPS1 :=
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=0.3.5" -D "JUCE_APP_VERSION_HEX=0x305" -I /usr/include -I /usr/include/freetype2 -I $(CURDIR)/../../Source/Plugins/Headers RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=0.3.5" -D "JUCE_APP_VERSION_HEX=0x305" -I /usr/include -I /usr/include/freetype2 -I $(CURDIR)/../../Source/Plugins/Headers
CLEANCMD = rm -rf $(OUTDIR)/* $(OBJDIR) CLEANCMD = rm -rf $(OUTDIR)/* $(OBJDIR) $(BINDIR)/$(addsuffix .so,$(notdir $(COMMONDIRS)))
endif endif
LIB_PREFIX :=
export export
SUBDIRS := $(wildcard $(PLUGIN_DIR)/*) SUBDIRS := $(wildcard $(PLUGIN_DIR)/*)
COMMONDIRS := $(wildcard $(COMMON_DIR)/*)
.PHONY: clean all notify $(SUBDIRS) $(notdir $(SUBDIRS)) .PHONY: clean all notify $(SUBDIRS) $(notdir $(SUBDIRS)) clean/$(notdir $(SUBDIRS)) libs $(COMMONDIRS)
all: notify $(SUBDIRS) all: notify libs $(SUBDIRS)
libs: $(COMMONDIRS)
notify: notify:
@echo "Building Open-Ephys Plugins" @echo "Building Open-Ephys Plugins"
...@@ -65,7 +71,9 @@ PLUGINNAME=$(shell echo $@ | rev | cut -d'/' -f-1 | rev) ...@@ -65,7 +71,9 @@ PLUGINNAME=$(shell echo $@ | rev | cut -d'/' -f-1 | rev)
# if there are a .jucer file in the plugin folder - try to find Makefile in the Source/ folder # if there are a .jucer file in the plugin folder - try to find Makefile in the Source/ folder
$(SUBDIRS): CXXFLAGS += -D "OEPLUGIN" -I $(CURDIR)/../../Source/Plugins/CommonLibs $(SUBDIRS): CXXFLAGS += -D "OEPLUGIN" -I $(CURDIR)/../../Source/Plugins/CommonLibs
$(SUBDIRS): $(COMMONDIRS): OUTDIR := $(BINDIR)
$(COMMONDIRS): LIB_PREFIX := lib
$(SUBDIRS) $(COMMONDIRS):
@if [ -f $@/*.jucer ] && ([ -f $@/Source/Makefile ]); then \ @if [ -f $@/*.jucer ] && ([ -f $@/Source/Makefile ]); then \
echo "Found jucer project for" $(PLUGINNAME) "..."; \ echo "Found jucer project for" $(PLUGINNAME) "..."; \
$(MAKE) -C $@/Source clean ; \ $(MAKE) -C $@/Source clean ; \
...@@ -74,6 +82,7 @@ $(SUBDIRS): ...@@ -74,6 +82,7 @@ $(SUBDIRS):
$(MAKE) -C $@ ; fi \ $(MAKE) -C $@ ; fi \
fi fi
.SECONDEXPANSION: .SECONDEXPANSION:
$(notdir $(SUBDIRS)): $$(PLUGIN_DIR)/$$@ $(notdir $(SUBDIRS)): $$(PLUGIN_DIR)/$$@
...@@ -81,7 +90,7 @@ clean: ...@@ -81,7 +90,7 @@ clean:
@echo Cleaning open-ephys plugins @echo Cleaning open-ephys plugins
@$(CLEANCMD) @$(CLEANCMD)
clean/$(notdir $(SUBDIRS)): $(addprefix clean/,$(notdir $(SUBDIRS))):
@echo Cleaning $(notdir $@) @echo Cleaning $(notdir $@)
$(MAKE) -C $(PLUGIN_DIR)/$(notdir $@) clean $(MAKE) -C $(PLUGIN_DIR)/$(notdir $@) clean
......
LIBNAME := $(notdir $(CURDIR))
OBJDIR := $(OBJDIR)/$(LIBNAME)
TARGET := $(LIBNAME).so
CXXFLAGS := $(CXXFLAGS) -I/usr/include/hdf5/serial -I/usr/local/hdf5/include
LDFLAGS := $(LDFLAGS) -L/usr/lib/x86_64-linux-gnu/hdf5/serial -L/usr/local/hdf5/lib -lhdf5 -lhdf5_cpp
SRC_DIR := ${shell find ./ -type d -print}
VPATH := $(SOURCE_DIRS)
SRC := $(foreach sdir,$(SRC_DIR),$(wildcard $(sdir)/*.cpp))
OBJ := $(addprefix $(OBJDIR)/,$(notdir $(SRC:.cpp=.o)))
BLDCMD := $(CXX) -shared -o $(OUTDIR)/$(TARGET) $(OBJ) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
VPATH = $(SRC_DIR)
.PHONY: objdir
$(OUTDIR)/$(TARGET): objdir $(OBJ)
-@mkdir -p $(BINDIR)
-@mkdir -p $(LIBDIR)
-@mkdir -p $(OUTDIR)
@echo "Building $(TARGET)"
@$(BLDCMD)
$(OBJDIR)/%.o : %.cpp
@echo "Compiling $<"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
objdir:
-@mkdir -p $(OBJDIR)
clean:
@echo "Cleaning $(LIBNAME)"
-@rm -rf $(OBJDIR)
-@rm -f $(OUTDIR)/$(TARGET)
-include $(OBJ:%.o=%.d)
...@@ -4,7 +4,7 @@ OBJDIR := $(OBJDIR)/$(LIBNAME) ...@@ -4,7 +4,7 @@ OBJDIR := $(OBJDIR)/$(LIBNAME)
TARGET := $(LIBNAME).so TARGET := $(LIBNAME).so
CXXFLAGS := $(CXXFLAGS) -I/usr/include/hdf5/serial -I/usr/local/hdf5/include CXXFLAGS := $(CXXFLAGS) -I/usr/include/hdf5/serial -I/usr/local/hdf5/include
LDFLAGS := $(LDFLAGS) -L/usr/lib/x86_64-linux-gnu/hdf5/serial -L/usr/local/hdf5/lib -lhdf5 -lhdf5_cpp LDFLAGS := $(LDFLAGS) -L/usr/lib/x86_64-linux-gnu/hdf5/serial -L/usr/local/hdf5/lib -lhdf5 -lhdf5_cpp -l:OpenEphysHDF5Lib.so
SRC_DIR := ${shell find ./ -type d -print} SRC_DIR := ${shell find ./ -type d -print}
VPATH := $(SOURCE_DIRS) VPATH := $(SOURCE_DIRS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment