aboutsummaryrefslogtreecommitdiff
path: root/tbext/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tbext/makefile')
-rw-r--r--tbext/makefile114
1 files changed, 114 insertions, 0 deletions
diff --git a/tbext/makefile b/tbext/makefile
new file mode 100644
index 0000000..a9577e7
--- /dev/null
+++ b/tbext/makefile
@@ -0,0 +1,114 @@
+# Makefile for icc @ linux adapted from Thomas Grill's xsample makefile
+#
+# usage:
+# to build run "make"
+# to install (as root), do "make install"
+#
+
+
+
+
+# your c++ compiler (if not g++)
+ CXX=icc
+
+# where does the PD installation reside?
+PD=/usr/lib/pdsrc/pd
+
+# where are the PD header files?
+# leave it blank if it is a system directory (like /usr/local/include),
+# since gcc 3.2 complains about it
+PDINC=
+
+# where do the flext libraries reside?
+FLEXTPATH=/usr/lib/flext
+
+# where should the objects be built?
+TARGDIR=./
+
+# where should tbext be installed?
+# (leave blank to omit installation)
+INSTDIR=${PD}/externs
+
+# where should the tbext help be installed?
+# (leave blank to omit installation)
+HELPDIR=${PD}/doc/5.reference
+
+# additional compiler flags
+# (check whether they fit to your system!)
+# UFLAGS=-mcpu=pentiumpro # gcc 2.95
+# UFLAGS=-mcpu=pentium4 -mmmx -msse2 -msse -mfpmath=sse # gcc 3.2
+UFLAGS= -O3 -xW -tpp7 -ip -ipo #icc
+
+
+FLEXTLIB=$(FLEXTPATH)/flext.a
+
+# compiler stuff
+INCLUDES=$(PDINC)
+FLAGS=-DFLEXT_SYS=2 -D__GNUG__
+CFLAGS=${UFLAGS} -O6 -funroll-loops -fmove-all-movables -frerun-loop-opt -finline-functions -fno-rtti -fno-exceptions
+LDFLAGS=$(CFLAGS)
+LIBS=m
+
+# ----------------------------------------------
+# the rest can stay untouched
+# ----------------------------------------------
+
+NAME=tbext
+SRCDIR=source
+
+include make-files.txt
+
+MAKEFILE=makefile
+TARGET=$(TARGDIR)/$(NAME).pd_linux
+
+# default target
+all: $(TARGDIR) $(TARGET)
+
+$(patsubst %,$(SRCDIR)/%,$(SRCS)): $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(MAKEFILE) $(CONFIG)
+ touch $(patsubst %,$(SRCDIR)/%,$(SRCS))
+
+$(TARGDIR):
+ -mkdir $(TARGDIR)
+
+$(TARGDIR)/%.o : $(SRCDIR)/%.cpp
+ $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@
+
+$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) $(FLEXTLIB)
+ $(CXX) $(LDFLAGS) -shared $^ $(patsubst %,-l%,$(LIBS)) -o $@
+ strip --strip-unneeded $@
+ chmod 755 $@
+
+$(INSTDIR):
+ -mkdir $(INSTDIR)
+
+install:: $(INSTDIR)
+
+install:: $(TARGET)
+ cp $^ $(INSTDIR)
+ chown root.root $(patsubst %,$(INSTDIR)/%,$(notdir $^))
+
+$(HELPDIR):
+ -mkdir $(HELPDIR)
+
+install-help:: $(HELPDIR)
+
+install-help:: ./pd
+ chmod 644 $^/*.*
+ cp $^/*.* $(HELPDIR)
+
+
+.PHONY: clean
+clean:
+ rm -f $(TARGDIR)/*.o $(TARGDIR)/*.il $(TARGET)
+
+
+
+
+
+
+
+
+
+
+
+