aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/dyn
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/dyn')
-rw-r--r--externals/grill/dyn/build-pd-linux.sh11
-rw-r--r--externals/grill/dyn/config-pd-linux.txt21
-rw-r--r--externals/grill/dyn/dyn_conn.cpp3
-rw-r--r--externals/grill/dyn/dyn_pd.h3
-rw-r--r--externals/grill/dyn/makefile.pd-linux72
5 files changed, 108 insertions, 2 deletions
diff --git a/externals/grill/dyn/build-pd-linux.sh b/externals/grill/dyn/build-pd-linux.sh
new file mode 100644
index 00000000..9694fe16
--- /dev/null
+++ b/externals/grill/dyn/build-pd-linux.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+. config-pd-linux.txt
+
+make -f makefile.pd-linux &&
+{
+ if [ $INSTDIR != "" ]; then
+ echo Now install as root
+ su -c "make -f makefile.pd-linux install"
+ fi
+}
diff --git a/externals/grill/dyn/config-pd-linux.txt b/externals/grill/dyn/config-pd-linux.txt
new file mode 100644
index 00000000..36b17774
--- /dev/null
+++ b/externals/grill/dyn/config-pd-linux.txt
@@ -0,0 +1,21 @@
+
+# your c++ compiler (define only if it's different than g++)
+# CXX=g++-3.3
+
+# prefix to install the dyn library and header files
+# (leave blank to omit installation)
+INSTDIR=/usr/local
+
+# where are the PD header files? (m_pd.h, m_imp.h, g_canvas.h)
+PDPATH=/usr/src/pd/src
+
+# where should flext libraries be built?
+TARGDIR=./pd-linux
+
+# where should the dyn library and header be installed?
+# (leave blank to omit installation)
+PREFIX=/usr/local
+
+# additional compiler flags
+# (check if they fit for your system!)
+# UFLAGS=-march=pentium4
diff --git a/externals/grill/dyn/dyn_conn.cpp b/externals/grill/dyn/dyn_conn.cpp
index 4300062c..b55d10cb 100644
--- a/externals/grill/dyn/dyn_conn.cpp
+++ b/externals/grill/dyn/dyn_conn.cpp
@@ -37,4 +37,5 @@ void dyn_conn::Invalidate()
ident->Callback(DYN_SIGNAL_DISCONN);
}
}
-*/ \ No newline at end of file
+*/
+
diff --git a/externals/grill/dyn/dyn_pd.h b/externals/grill/dyn/dyn_pd.h
index 1b0ea161..3832fe04 100644
--- a/externals/grill/dyn/dyn_pd.h
+++ b/externals/grill/dyn/dyn_pd.h
@@ -27,4 +27,5 @@ extern "C" {
#define ASSERT assert
#endif
-#endif \ No newline at end of file
+#endif
+
diff --git a/externals/grill/dyn/makefile.pd-linux b/externals/grill/dyn/makefile.pd-linux
new file mode 100644
index 00000000..1a8e582d
--- /dev/null
+++ b/externals/grill/dyn/makefile.pd-linux
@@ -0,0 +1,72 @@
+# Makefile for gcc @ linux
+#
+# usage:
+# to build run "make -f makefile.pd-linux"
+# to install (as root), do "make -f makefile.pd-linux install"
+#
+
+CONFIG=config-pd-linux.txt
+
+include ${CONFIG}
+
+# compiler+linker stuff
+INCLUDES=${PDPATH}
+FLAGS=${UFLAGS}
+
+# compiler flags for optimized build
+CFLAGS=-O2
+
+# compiler flags for debug build
+CFLAGS_D=-g
+
+# flags for shared linking
+LSHFLAGS= -shared
+
+# ----------------------------------------------
+# the rest can stay untouched
+# ----------------------------------------------
+
+# all the source files from the package
+include make-files.txt
+
+MAKEFILE=makefile.pd-linux
+
+TARGET=$(TARGDIR)/lib$(NAME).so
+TARGET_D=$(TARGDIR)/lib$(NAME)_d.so
+HDRS=$(PHDRS) $(IHDRS)
+
+
+all: $(TARGDIR) $(TARGET) $(TARGET_D)
+
+$(TARGDIR):
+ mkdir $(TARGDIR)
+
+$(patsubst %,$(SRCDIR)/%,$(SRCS)): $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(patsubst %,$(SRCDIR)/%,$(IHDRS)) $(MAKEFILE) $(CONFIG)
+ touch $@
+
+$(TARGDIR)/%.o : $(SRCDIR)/%.cpp
+ $(CXX) -c -shared $(CFLAGS) $(CFLAGS_T) $(CFLAGS_S) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@
+
+$(TARGDIR)/%.do : $(SRCDIR)/%.cpp
+ $(CXX) -c -shared $(CFLAGS_D) $(CFLAGS_T) $(CFLAGS_S) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(SRCDIR)) $< -o $@
+
+$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS))
+ $(CXX) $(LSHFLAGS) -o $@ $^
+
+$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(SRCS))
+ $(CXX) $(LSHFLAGS) -o $@ $^
+
+.PHONY: clean install
+
+clean:
+ rm -f $(TARGDIR)/*.{o,do} $(TARGET) $(TARGET_D)
+
+ifdef PREFIX
+
+install:: $(PREFIX)
+endif
+
+install:: $(TARGET) $(TARGET_D)
+# cp $(patsubst %,$(SRCDIR)/%,$(PHDRS)) $(PREFIX)/include
+ cp $(TARGDIR)/lib*.dylib $(PREFIX)/lib
+