[PD-cvs] externals/tbext build-max-msvc.bat,NONE,1.1 build-pd-bcc.bat,NONE,1.1 build-pd-cygwin.sh,NONE,1.1 build-pd-darwin.sh,NONE,1.1 build-pd-linux.sh,NONE,1.1 build-pd-mingw.bat,NONE,1.1 build-pd-msvc.bat,NONE,1.1 config-max-msvc.txt,NONE,1.1 config-pd-bcc.txt,NONE,1.1 config-pd-cygwin.txt,NONE,1.1 config-pd-darwin.txt,NONE,1.1 config-pd-mingw.txt,NONE,1.1 config-pd-msvc.txt,NONE,1.1 makefile.pd-cygwin,NONE,1.1 makefile.pd-darwin,NONE,1.1 makefile.pd-mingw,NONE,1.1 makefile.pd-msvc,NONE,1.1

Tim Blechmann timblech at users.sourceforge.net
Tue Jul 13 22:01:51 CEST 2004


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




More information about the Pd-cvs mailing list