Update of /cvsroot/pure-data/externals/tbext
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29750
Added Files:
build-max-msvc.bat build-pd-bcc.bat build-pd-cygwin.sh
build-pd-darwin.sh build-pd-linux.sh build-pd-mingw.bat
build-pd-msvc.bat config-max-msvc.txt config-pd-bcc.txt
config-pd-cygwin.txt config-pd-darwin.txt config-pd-mingw.txt
config-pd-msvc.txt makefile.pd-cygwin makefile.pd-darwin
makefile.pd-mingw makefile.pd-msvc
Log Message:
adapted thomas' build system
--- NEW FILE: config-pd-cygwin.txt ---
# 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
--- NEW FILE: build-pd-linux.sh ---
#!/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
}
--- NEW FILE: build-pd-cygwin.sh ---
#!/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
}
--- NEW FILE: makefile.pd-cygwin ---
# 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)
--- NEW FILE: config-pd-msvc.txt ---
# 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
--- NEW FILE: build-pd-mingw.bat ---
mingw32-make -f makefile.pd-mingw
mingw32-make -f makefile.pd-mingw install
mingw32-make -f makefile.pd-mingw install-help
--- NEW FILE: makefile.pd-darwin ---
# 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)
--- NEW FILE: makefile.pd-msvc ---
# 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
--- NEW FILE: config-pd-darwin.txt ---
# 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
--- NEW FILE: build-pd-darwin.sh ---
#!/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
}
--- NEW FILE: build-pd-msvc.bat ---
@echo --- Building with MS Visual C++ ---
nmake -f makefile.pd-msvc clean
nmake -f makefile.pd-msvc
--- NEW FILE: config-pd-bcc.txt ---
# 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
--- NEW FILE: config-max-msvc.txt ---
# 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
--- NEW FILE: build-max-msvc.bat ---
@echo --- Building with MS Visual C++ ---
nmake -f makefile.max-msvc clean
nmake -f makefile.max-msvc
--- NEW FILE: build-pd-bcc.bat ---
@echo --- Building with BorlandC++ ---
make -f makefile.pd-bcc
--- NEW FILE: makefile.pd-mingw ---
# 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)
--- NEW FILE: config-pd-mingw.txt ---
# 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