aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Blechmann <timblech@users.sourceforge.net>2004-07-13 20:01:49 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 15:11:54 +0200
commit5e7742116ef3b268823d43d26dab3239e4472dcf (patch)
tree297b35bf6f93ead82996761c1c46a30996cf020c
parentb02a1e9aee38e588e6d4430d0e84a9e736c2b0f0 (diff)
adapted thomas' build system
svn path=/trunk/externals/tb/; revision=1853
-rw-r--r--tbext/build-max-msvc.bat4
-rw-r--r--tbext/build-pd-bcc.bat3
-rw-r--r--tbext/build-pd-cygwin.sh15
-rwxr-xr-xtbext/build-pd-darwin.sh17
-rwxr-xr-xtbext/build-pd-linux.sh17
-rw-r--r--tbext/build-pd-mingw.bat3
-rw-r--r--tbext/build-pd-msvc.bat4
-rw-r--r--tbext/config-max-msvc.txt27
-rw-r--r--tbext/config-pd-bcc.txt23
-rw-r--r--tbext/config-pd-cygwin.txt35
-rwxr-xr-xtbext/config-pd-darwin.txt35
-rw-r--r--tbext/config-pd-mingw.txt35
-rw-r--r--tbext/config-pd-msvc.txt19
-rw-r--r--tbext/makefile.pd-cygwin86
-rwxr-xr-xtbext/makefile.pd-darwin77
-rw-r--r--tbext/makefile.pd-mingw85
-rw-r--r--tbext/makefile.pd-msvc53
17 files changed, 538 insertions, 0 deletions
diff --git a/tbext/build-max-msvc.bat b/tbext/build-max-msvc.bat
new file mode 100644
index 0000000..130a3bc
--- /dev/null
+++ b/tbext/build-max-msvc.bat
@@ -0,0 +1,4 @@
+@echo --- Building with MS Visual C++ ---
+
+nmake -f makefile.max-msvc clean
+nmake -f makefile.max-msvc
diff --git a/tbext/build-pd-bcc.bat b/tbext/build-pd-bcc.bat
new file mode 100644
index 0000000..3dd2132
--- /dev/null
+++ b/tbext/build-pd-bcc.bat
@@ -0,0 +1,3 @@
+@echo --- Building with BorlandC++ ---
+
+make -f makefile.pd-bcc
diff --git a/tbext/build-pd-cygwin.sh b/tbext/build-pd-cygwin.sh
new file mode 100644
index 0000000..9477844
--- /dev/null
+++ b/tbext/build-pd-cygwin.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+SYS=pd-cygwin
+
+. config-${SYS}.txt
+
+make -f makefile.${SYS} &&
+{
+ if [ $INSTDIR != "" ]; then
+ make -f makefile.${SYS} install
+ fi
+ if [ $HELPDIR != "" ]; then
+ make -f makefile.${SYS} install-help
+ fi
+}
diff --git a/tbext/build-pd-darwin.sh b/tbext/build-pd-darwin.sh
new file mode 100755
index 0000000..38814a9
--- /dev/null
+++ b/tbext/build-pd-darwin.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+SYS=pd-darwin
+
+. config-${SYS}.txt
+
+make -f makefile.${SYS} &&
+{
+ if [ $INSTDIR != "" ]; then
+ echo Now install as root
+ sudo make -f makefile.${SYS} install
+ fi
+ if [ $HELPDIR != "" ]; then
+ echo Now install help as root
+ sudo make -f makefile.${SYS} install-help
+ fi
+}
diff --git a/tbext/build-pd-linux.sh b/tbext/build-pd-linux.sh
new file mode 100755
index 0000000..77c6e3f
--- /dev/null
+++ b/tbext/build-pd-linux.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+SYS=pd-linux
+
+. config-${SYS}.txt
+
+make -f makefile.${SYS} &&
+{
+ if [ $INSTDIR != "" ]; then
+ echo Now install as root
+ su -c "make -f makefile.${SYS} install"
+ fi
+ if [ $HELPDIR != "" ]; then
+ echo Now install help as root
+ su -c "make -f makefile.${SYS} install-help"
+ fi
+}
diff --git a/tbext/build-pd-mingw.bat b/tbext/build-pd-mingw.bat
new file mode 100644
index 0000000..fa8919a
--- /dev/null
+++ b/tbext/build-pd-mingw.bat
@@ -0,0 +1,3 @@
+mingw32-make -f makefile.pd-mingw
+mingw32-make -f makefile.pd-mingw install
+mingw32-make -f makefile.pd-mingw install-help
diff --git a/tbext/build-pd-msvc.bat b/tbext/build-pd-msvc.bat
new file mode 100644
index 0000000..d6187f0
--- /dev/null
+++ b/tbext/build-pd-msvc.bat
@@ -0,0 +1,4 @@
+@echo --- Building with MS Visual C++ ---
+
+nmake -f makefile.pd-msvc clean
+nmake -f makefile.pd-msvc
diff --git a/tbext/config-max-msvc.txt b/tbext/config-max-msvc.txt
new file mode 100644
index 0000000..e2a0477
--- /dev/null
+++ b/tbext/config-max-msvc.txt
@@ -0,0 +1,27 @@
+# config file for tbext, adapted from Thomas Grill's xsample makefile
+#
+
+# where is the Max SDK?
+# you should have the latest version!
+MAXSDKPATH="F:\prog\audio\MaxWinSDK\c74support"
+
+# where do the flext libraries reside?
+FLEXTPATH="%CommonProgramFiles%\Cycling '74\flext"
+
+# where is MS VC++?
+# (need not be defined if the build is started with the compiler environment set)
+# MSVCPATH="c:\programme\prog\microsoft visual studio\VC98"
+
+
+# where should the external be built?
+# (path for temporary files)
+OUTPATH=max-msvc
+
+# where should the external be installed?
+# (leave blank to omit installation)
+INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext"
+
+
+# some user-definable flags
+# (check if they match your system!)
+UFLAGS=/G6 /arch:SSE
diff --git a/tbext/config-pd-bcc.txt b/tbext/config-pd-bcc.txt
new file mode 100644
index 0000000..3b9eb52
--- /dev/null
+++ b/tbext/config-pd-bcc.txt
@@ -0,0 +1,23 @@
+# config file for tbext, adapted from Thomas Grill's xsample makefile
+#
+
+# where is PD?
+PDPATH=c:\programme\audio\pd
+
+# where do the flext libraries reside?
+FLEXTPATH=$(PDPATH)\flext
+
+# where is BorlandC++?
+BCCPATH=c:\programme\prog\bcc55
+
+# where should the external(s) be built?
+OUTPATH=.\pd-bcc
+
+# should the external be installed? (yes/no)
+INSTALL=yes
+
+# where should the external be installed?
+INSTDIR=$(PDPATH)\extra
+
+# additional compiler flags
+UFLAGS=-6 -O2 -OS -ff
diff --git a/tbext/config-pd-cygwin.txt b/tbext/config-pd-cygwin.txt
new file mode 100644
index 0000000..17af1b9
--- /dev/null
+++ b/tbext/config-pd-cygwin.txt
@@ -0,0 +1,35 @@
+# config file for tbext, adapted from Thomas Grill's xsample makefile
+#
+
+# your c++ compiler (define only if it's different than g++)
+# CXX=g++
+
+# where does the PD installation reside?
+PD=/cygdrive/c/programme/audio/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=${PD}/src
+
+# where do the flext libraries reside?
+FLEXTPATH=${PD}/flext
+
+# where should tbext objects be built?
+TARGDIR=./pd-cygwin
+
+# where should tbext be installed?
+# (leave blank to omit installation)
+INSTDIR=${PD}/extra
+
+# 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=pentium4 -msse -mfpmath=sse # gcc 3.2
+# UFLAGS=-mcpu=pentiumpro # gcc 2.95
+
+# define to build with shared flext library
+#FLEXT_SHARED=1
diff --git a/tbext/config-pd-darwin.txt b/tbext/config-pd-darwin.txt
new file mode 100755
index 0000000..2a5441f
--- /dev/null
+++ b/tbext/config-pd-darwin.txt
@@ -0,0 +1,35 @@
+# config file for tbext, adapted from Thomas Grill's xsample makefile
+#
+
+# your c++ compiler (if not g++)
+#CXX=g++-3.3
+
+# where does the PD installation reside?
+PD=/usr/local/lib/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=${PD}/src
+
+# where is the PD executable?
+PDBIN=/usr/local/bin/pd
+
+# where do the flext libraries reside?
+FLEXTPATH=${PD}/flext
+
+# where should the tbext objects be built?
+TARGDIR=./pd-darwin
+
+# where should tbext be installed?
+# (leave blank to omit installation)
+INSTDIR=${PD}/extra
+
+# where should the tbext help be installed?
+# (leave blank to omit installation)
+HELPDIR=${PD}/doc/5.reference
+
+# additional compiler flags
+# (check whether they fit your system!)
+UFLAGS=-malign-power -maltivec -faltivec
+
diff --git a/tbext/config-pd-mingw.txt b/tbext/config-pd-mingw.txt
new file mode 100644
index 0000000..cbe445c
--- /dev/null
+++ b/tbext/config-pd-mingw.txt
@@ -0,0 +1,35 @@
+# config file for tbext, adapted from Thomas Grill's xsample makefile
+#
+
+# your c++ compiler (define only if it's different than g++)
+# CXX=g++
+
+# where does the PD installation reside?
+PD=c:/programme/audio/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=${PD}/src
+
+# where do the flext libraries reside?
+FLEXTPATH=${PD}/flext
+
+# where should tbext objects be built?
+TARGDIR=./pd-mingw
+
+# where should tbext be installed?
+# (leave blank to omit installation)
+INSTDIR=${PD}/extra
+
+# 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=pentium4 -msse -mfpmath=sse # gcc 3.2
+# UFLAGS=-mcpu=pentiumpro # gcc 2.95
+
+# define to build with shared flext library
+# FLEXT_SHARED=1 \ No newline at end of file
diff --git a/tbext/config-pd-msvc.txt b/tbext/config-pd-msvc.txt
new file mode 100644
index 0000000..fb48585
--- /dev/null
+++ b/tbext/config-pd-msvc.txt
@@ -0,0 +1,19 @@
+# config file for tbext, adapted from Thomas Grill's xsample makefile
+#
+
+# where is PD?
+PDPATH=c:\programme\audio\pd
+
+# where do the flext libraries reside?
+FLEXTPATH=$(PDPATH)\flext
+
+# where is MS VC++?
+# (not necessary if the build started with the compiler environment)
+# MSVCPATH=c:\programme\prog\microsoft visual studio\VC98
+
+# where should the external be built?
+OUTPATH=pd-msvc
+
+# where should the external be installed?
+# (leave blank to omit installation)
+INSTDIR=$(PDPATH)\extra
diff --git a/tbext/makefile.pd-cygwin b/tbext/makefile.pd-cygwin
new file mode 100644
index 0000000..9b8a9f8
--- /dev/null
+++ b/tbext/makefile.pd-cygwin
@@ -0,0 +1,86 @@
+# makefile adapted from thomas grill's xsample makefile
+#
+# Makefile for gcc @ cygwin
+#
+# usage:
+# to build run "make -f makefile.pd-cygwin"
+# to install (as root), do "make -f makefile.pd-cygwin install"
+#
+
+CONFIG=config-pd-cygwin.txt
+MAKEFILE=makefile.pd-cygwin
+
+include ${CONFIG}
+
+
+# compiler stuff
+# /usr/include holds the cygwin pthread headers and must be first!
+INCLUDES=/usr/include $(PDINC) ./headers/plugin_interface ./headers/common ./headers/server ./headers/app ./headers/lang
+
+FLAGS=-DFLEXT_SYS=2
+CFLAGS=-O2 -funroll-loops -fmove-all-movables -frerun-loop-opt -finline-functions -fno-rtti -fno-exceptions ${UFLAGS}
+
+PDLIBS=$(PD)/bin/pd.dll $(PD)/bin/pthreadVC.dll
+
+
+ifdef FLEXT_SHARED
+
+CFLAGS+=-DFLEXT_SHARED
+FLEXTLIB=$(FLEXTPATH)/flext.dll
+
+else
+
+FLEXTLIB=$(FLEXTPATH)/flext-pdwin.lib
+
+endif
+
+
+# ----------------------------------------------
+# the rest can stay untouched
+# ----------------------------------------------
+
+NAME=tbext
+
+include make-files.txt
+
+TARGET=$(TARGDIR)/$(NAME).dll
+
+# 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) -shared $(LDFLAGS) $^ ${PDLIBS} $(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 $(TARGET)
diff --git a/tbext/makefile.pd-darwin b/tbext/makefile.pd-darwin
new file mode 100755
index 0000000..9b6af4e
--- /dev/null
+++ b/tbext/makefile.pd-darwin
@@ -0,0 +1,77 @@
+# makefile adapted from thomas grill's xsample makefile
+#
+# Makefile for gcc @ OSX (darwin)
+#
+# usage:
+# to build run "make -f makefile.pd-darwin"
+# to install (as root), do "make -f makefile.pd-darwin install"
+# to install help, do "make -f makefile.pd-darwin install-help"
+#
+
+CONFIG=config-pd-darwin.txt
+
+include ${CONFIG}
+
+FLEXTLIB=$(FLEXTPATH)/libflext.a
+
+# compiler stuff
+INCLUDES=$(PDINC) ./headers/plugin_interface ./headers/common ./headers/server ./headers/app ./headers/lang
+FLAGS=-DFLEXT_SYS=2
+CFLAGS=${UFLAGS} -dynamic -O2 -Wno-unused -Wno-parentheses -Wno-switch -Wstrict-prototypes -funroll-loops -fmove-all-movables -frerun-loop-opt -fno-rtti -fno-exceptions
+LIBS=m gcc
+LDFLAGS=$(FLEXTLIB) -bundle -bundle_loader $(PDBIN)
+FRAMEWORKS=Carbon veclib
+
+# ----------------------------------------------
+# the rest can stay untouched
+# ----------------------------------------------
+
+NAME=tbext
+
+include make-files.txt
+
+MAKEFILE=makefile.pd-darwin
+TARGET=$(TARGDIR)/$(NAME).pd_darwin
+
+
+# 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))
+ $(CXX) $(LDFLAGS) $^ $(patsubst %,-framework %,$(FRAMEWORKS)) $(patsubst %,-L%,$(LIBPATH)) $(patsubst %,-l%,$(LIBS)) -o $@
+ chmod 755 $@
+
+
+$(INSTDIR):
+ -mkdir $(INSTDIR)
+
+install:: $(INSTDIR)
+
+install:: $(TARGET)
+ cp -R $^ $(INSTDIR)
+# chown -R root.root $(INSTDIR)
+
+
+$(HELPDIR):
+ -mkdir $(HELPDIR)
+
+install-help:: $(HELPDIR)
+
+install-help:: ./pd
+ cp $^/*.* $(HELPDIR)
+# chown -R root.root $(HELPDIR)
+
+
+.PHONY: clean
+clean:
+ rm -f $(TARGDIR)/*.o $(TARGET)
+
diff --git a/tbext/makefile.pd-mingw b/tbext/makefile.pd-mingw
new file mode 100644
index 0000000..065930e
--- /dev/null
+++ b/tbext/makefile.pd-mingw
@@ -0,0 +1,85 @@
+# makefile adapted from thomas grill's xsample makefile
+#
+# Makefile for gcc @ minGW
+#
+# usage:
+# to build run "make -f makefile.pd-mingw"
+# to install (as root), do "make -f makefile.pd-mingw install"
+#
+
+CONFIG=config-pd-mingw.txt
+MAKEFILE=makefile.pd-mingw
+
+include ${CONFIG}
+
+
+# compiler stuff
+INCLUDES=$(PDINC) ./headers/plugin_interface ./headers/common ./headers/server ./headers/app ./headers/lang
+
+FLAGS=-DFLEXT_SYS=2
+CFLAGS=-O2 -funroll-loops -fmove-all-movables -frerun-loop-opt -finline-functions -fno-rtti -fno-exceptions ${UFLAGS}
+
+PDLIBS=$(PD)/bin/pd.dll $(PD)/bin/pthreadVC.dll
+
+
+ifdef FLEXT_SHARED
+
+CFLAGS+=-DFLEXT_SHARED
+FLEXTLIB=$(FLEXTPATH)/flext.dll
+
+else
+
+FLEXTLIB=$(FLEXTPATH)/flext-pdwin.lib
+
+endif
+
+
+# ----------------------------------------------
+# the rest can stay untouched
+# ----------------------------------------------
+
+NAME=tbext
+
+include make-files.txt
+
+TARGET=$(TARGDIR)/$(NAME).dll
+
+# default target
+all: $(TARGDIR) $(TARGET)
+
+$(patsubst %,$(SRCDIR)/%,$(SRCS)): $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(MAKEFILE) $(CONFIG)
+# echo touch $(patsubst %,$(SRCDIR)/%,$(SRCS)) # minGW has no touch
+
+$(TARGDIR):
+ -mkdir $(TARGDIR)
+
+$(TARGDIR)/%.o : $(SRCDIR)/%.cpp
+ $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@
+
+$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) $(FLEXTLIB)
+ $(CXX) -shared $(LDFLAGS) $^ ${PDLIBS} $(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 $(TARGET)
diff --git a/tbext/makefile.pd-msvc b/tbext/makefile.pd-msvc
new file mode 100644
index 0000000..776ab09
--- /dev/null
+++ b/tbext/makefile.pd-msvc
@@ -0,0 +1,53 @@
+# makefile adapted from thomas grill's xsample makefile
+#
+# Makefile for MSVC++ 6
+#
+# usage:
+# to build run "make -f makefile.pd-msvc"
+#
+
+!include config-pd-msvc.txt
+
+# includes
+INCPATH=/I"$(MSVCPATH)\include" /I"$(PDPATH)\src" /I"$(FLEXTPATH)" /I"./headers/plugin_interface" /I"./headers/common" /I"/headers/server" /I"./headers/app" /I"./headers/lang
+LIBPATH=/LIBPATH:"$(MSVCPATH)\lib" /LIBPATH:"$(PDPATH)\bin" /LIBPATH:"$(FLEXTPATH)"
+LIBS=pd.lib pthreadVC.lib flext-pdwin.lib
+
+# compiler definitions and flags
+DEFS=/DFLEXT_SYS=2
+
+CFLAGS=/GR- /GX- /GD /G6 /Ox /EHsc /ML
+
+# the rest can stay untouched
+# ----------------------------------------------
+
+NAME=tbext
+
+!include make-files.txt
+
+
+all: $(OUTPATH) $(OUTPATH)\$(NAME).dll
+
+# remove build
+clean:
+ -del /q $(OUTPATH) > nul
+ -rmdir $(OUTPATH) > nul
+
+OBJS= $(SRCS:.cpp=.obj)
+
+$(OUTPATH):
+ -mkdir $(OUTPATH) > nul
+
+{$(SRCDIR)}.cpp{}.obj:
+ cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(OUTPATH)\$@
+
+$(OUTPATH)\$(NAME).dll: $(OBJS)
+ cd $(OUTPATH)
+ link /DLL /out:$(NAME).dll /INCREMENTAL:NO $** $(LIBS) $(LIBPATH)
+ @-del *.exp
+ @-del *.lib
+ cd ..
+!ifdef INSTPATH
+ @-if not exist $(INSTPATH) mkdir $(INSTPATH)
+ copy $@ $(INSTPATH) > nul
+!endif