From 895c0955b00f5de81d970c7897b7a5a2d4eb7350 Mon Sep 17 00:00:00 2001 From: "B. Bogart" Date: Fri, 22 Jun 2007 23:26:12 +0000 Subject: Changed PSO to the "new" (build.sh pd gcc) install method inline with current flext. Updated docs accordingly svn path=/trunk/externals/bbogart/; revision=7796 --- pso/README.build.txt | 33 +++++++++++------ pso/README.txt | 6 ++-- pso/config-pd-darwin.txt | 34 ------------------ pso/config-pd-linux.txt | 28 --------------- pso/makefile.pd-darwin | 78 ---------------------------------------- pso/makefile.pd-linux | 92 ------------------------------------------------ 6 files changed, 26 insertions(+), 245 deletions(-) delete mode 100644 pso/config-pd-darwin.txt delete mode 100644 pso/config-pd-linux.txt delete mode 100644 pso/makefile.pd-darwin delete mode 100644 pso/makefile.pd-linux diff --git a/pso/README.build.txt b/pso/README.build.txt index 441e5ea..70ff974 100644 --- a/pso/README.build.txt +++ b/pso/README.build.txt @@ -1,19 +1,30 @@ -These objects where developed under Linux and have been tested -on Linux. The objects should also compile under all other flext capable platforms. -makefiles have only been provided for OSX and Linux. +The objects have been tested on Mac OS X (10.4) and Linux. Everything should +build fine under Windows using the usual flext install method. -Note: Flext is required to compile this external! +The following instructions have been written by Thomas Grill for the xsample +flext external. -To build & Install (under linux): +BUILDING from source +---------------------------- - edit config-pd-linux.txt to suit your needs +You will need the flext C++ layer for PD and Max/MSP externals to compile this. +See http://grrrr.org/ext/flext +Download, install and compile the package. - make -f makefile.pd-linux -To build & Install (under OSX): +pd/Max - Windows - Microsoft Visual C, Borland C++, MinGW: +---------------------------------------------------------- +Start a command shell with your eventual build environment +(e.g. run vcvars32.bat for Microsoft Visual Studio) - edit config-pd-darwin.txt to suit your needs +then run + ..\flext\build.bat +(you would have to substitute ..\flext with the respective path to the flext package) - make -f makefile.pd-darwin -See http://www.ekran.org/ben/research/pso for binary PD and MAX releases. +pd/Max - OSX/Linux - GCC: +------------------------- +From a shell run +bash ../flext/build.sh +(you would have to substitute ../flext with the respective path to the flext package) + diff --git a/pso/README.txt b/pso/README.txt index 7438674..09e5f74 100644 --- a/pso/README.txt +++ b/pso/README.txt @@ -2,9 +2,9 @@ This is the readme for "PSO" a Particle Swarm Optimizer object for PD/MAX. This implimentation of a PSO minimizes towards a user-defined target. It is based on code from Jim Kennedy and Thomas Grill. -PSO is Copyright Ben Bogart 2003 +PSO is Copyright Ben Bogart 2003,2007 -If you have any questions/comments you can reach the author at ben@ekran.org. +If you have any questions/comments you can reach the author at bbogart@goto10.org This program is distributed under the terms of the GNU General Public License @@ -25,6 +25,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA USAGE: +Follow the README.build.txt file for compilation instructions. + MAX: Put it in your externals folder. PD: Put it in your extra folder. diff --git a/pso/config-pd-darwin.txt b/pso/config-pd-darwin.txt deleted file mode 100644 index 00f570b..0000000 --- a/pso/config-pd-darwin.txt +++ /dev/null @@ -1,34 +0,0 @@ -# PSO - Particle Swarm Optimizer - Copyright Ben Bogart 2003 -# makefile adapted from pool - Copyright (c) 2002 Thomas Grill (xovo@gmx.net) -# - -# your c++ compiler (define only if it's different than g++) -# CXX=g++ - -# 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 -#PDPATH=/usr/local/src/pd/src -PDPATH=../../../pd/src - -# where is the PD executable? -#PD=/usr/local/bin/pd -PD=../../../pd/bin/pd - -# where do the flext libraries reside? -#FLEXTPATH=/usr/local/lib/pd/flext -FLEXTPATH=../../grill/flext - -# where should flext libraries be built? -TARGDIR=./pd-darwin - -# where should pool be installed? -# (leave blank to omit installation) -#INSTPATH=/usr/local/lib/pd/extra -INSTPATH= - -# additional compiler flags -# (check if they match your system!) -UFLAGS=-malign-power -maltivec - - diff --git a/pso/config-pd-linux.txt b/pso/config-pd-linux.txt deleted file mode 100644 index 6dd1808..0000000 --- a/pso/config-pd-linux.txt +++ /dev/null @@ -1,28 +0,0 @@ -# PSO - Particle Swarm Optimizer - Copyright Ben Bogart 2003 -# makefile adapted from pool - Copyright (c) 2002 Thomas Grill (xovo@gmx.net) -# - -# your c++ compiler (define only if it's different than g++) -# CXX=g++ - -# 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 -PDPATH=/usr/local/include - -# where do the flext libraries reside? -FLEXTPATH=/usr/local/lib/pd/flext - -# where should flext libraries be built? -TARGDIR=./pd-linux - -# where should the external be installed? -# (leave blank to omit installation) -INSTPATH=/usr/local/lib/pd/extra - -# user defined compiler flags -UFLAGS= - -# define for shared build -#FLEXT_SHARED=1 - diff --git a/pso/makefile.pd-darwin b/pso/makefile.pd-darwin deleted file mode 100644 index e9e4006..0000000 --- a/pso/makefile.pd-darwin +++ /dev/null @@ -1,78 +0,0 @@ -# PSO - Particle Swarm Optimizer - Copyright Ben Bogart 2003 -# makefile adapted from pool - Copyright (c) 2002 Thomas Grill (xovo@gmx.net) -# -# Makefile for gcc @ darwin (OSX) -# -# usage: -# to build run "make -f makefile.pd-darwin" -# to install (as root), do "make -f makefile.pd-darwin install" -# - -CONFIG=config-pd-darwin.txt - -include $(CONFIG) - -#FLEXTLIB=$(FLEXTPATH)/flext.a -FLEXTLIB=$(FLEXTPATH)/pd-darwin/libflext.a - -# compiler+linker stuff -INCLUDES=$(PDPATH) ../../grill/flext/source -LIBPATH= -FLAGS=-DFLEXT_SYS=2 -CFLAGS=-O6 ${UFLAGS} -Wno-unused -Wno-parentheses -Wno-switch -Wstrict-prototypes -LIBS=m -LDFLAGS=-bundle -bundle_loader $(PD) -FRAMEWORKS=Carbon - - -# --------------------------------------------- -# the rest can stay untouched -# ---------------------------------------------- - -NAME=pso - -# all the source files from the package -SRCS=main.cpp -HDRS= - -DIR=. - -TARGET=$(TARGDIR)/$(NAME).pd_darwin - -# default target -all: $(TARGDIR) $(TARGET) - -$(patsubst %,$(DIR)/%,$(SRCS)): $(patsubst %,$(DIR)/%,$(HDRS)) $(FLEXTLIB) $(CONFIG) - touch $@ - -$(TARGDIR): - -mkdir $(TARGDIR) - -$(TARGDIR)/%.o : $(DIR)/%.cpp - $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@ - -$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) $(FLEXTLIB) - $(CXX) $(LDFLAGS) $^ $(patsubst %,-framework %,$(FRAMEWORKS)) $(patsubst %,-L%,$(LIBPATH)) $(patsubst %,-l%,$(LIBS)) -o $@ - chmod 755 $@ - -$(INSTPATH): - -mkdir $(INSTPATH) - -install:: $(INSTPATH) - -install:: $(TARGET) - cp $^ $(INSTPATH) -# chown root.root $(patsubst %,$(INSTPATH)/%,$(notdir $^)) -# chmod 755 $(patsubst %,$(INSTPATH)/%,$(notdir $^)) - -.PHONY: clean -clean: - rm -f $(TARGDIR)/*.o $(TARGET) - - - - - - - - diff --git a/pso/makefile.pd-linux b/pso/makefile.pd-linux deleted file mode 100644 index 0bd5193..0000000 --- a/pso/makefile.pd-linux +++ /dev/null @@ -1,92 +0,0 @@ -# PSO - Particle Swarm Optimizer - Copyright Ben Bogart 2003 -# makefile adapted from pool - Copyright (c) 2002 Thomas Grill (xovo@gmx.net) -# -# 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=-DFLEXT_SYS=2 -CFLAGS=-O2 $(UFLAGS) -LIBS= - -ifdef FLEXT_SHARED -CFLAGS+=-shared -DFLEXT_SHARED -LDFLAGS+=-L $(FLEXTPATH) - -ifeq ($(CXX),icc) -LDFLAGS+=-i_dynamic -else -LDFLAGS+=-Wl,-Bdynamic -endif - -FLEXTLIB=-lflext - -else - -FLEXTLIB=$(FLEXTPATH)/flext_t.a - -endif - - -# --------------------------------------------- -# the rest can stay untouched -# ---------------------------------------------- - -NAME=pso - -# all the source files from the package -SRCS=main.cpp -HDRS= - -DIR=. - -TARGET=$(TARGDIR)/$(NAME).pd_linux - -# default target -all: $(TARGDIR) $(TARGET) - -$(patsubst %,$(DIR)/%,$(SRCS)): $(patsubst %,$(DIR)/%,$(HDRS)) $(CONFIG) - touch $@ - -$(TARGDIR): - mkdir $(TARGDIR) - -$(TARGDIR)/%.o : $(DIR)/%.cpp - $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) $(FLEXTPATH)) $< -o $@ - -$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) - $(CXX) -shared $(LDFLAGS) -o $@ $^ $(FLEXTLIB) $(patsubst %,-l%,$(LIBS)) - strip --strip-unneeded $@ - chmod 755 $@ - -$(INSTPATH): - mkdir $(INSTPATH) - -install:: $(INSTPATH) - -install:: $(TARGET) - cp $^ $(INSTPATH) - chown root.root $(patsubst %,$(INSTPATH)/%,$(notdir $^)) - chmod 755 $(patsubst %,$(INSTPATH)/%,$(notdir $^)) - -.PHONY: clean -clean: - rm -f $(TARGDIR)/*.o $(TARGET) - - - - - - - - - -- cgit v1.2.1