aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Morelli <morellid@users.sourceforge.net>2005-05-31 12:02:24 +0000
committerDavide Morelli <morellid@users.sourceforge.net>2005-05-31 12:02:24 +0000
commitdb5fbc593460cc87773b314ebd190fe1a923a9a6 (patch)
treed2ce0a79cf279d696c8f98e161464723932a05c2
parent401529837ccca75286e58cd06321bfb00b47c31b (diff)
added osx makefile
svn path=/trunk/externals/ann/; revision=3098
-rwxr-xr-xREADME.txt12
-rwxr-xr-xsrc/makefile.darwin110
2 files changed, 119 insertions, 3 deletions
diff --git a/README.txt b/README.txt
index 9593a33..cd7b6da 100755
--- a/README.txt
+++ b/README.txt
@@ -35,12 +35,18 @@ and set correct PATHs
read ann/src/makefile.linux for more info and edit PATHs
-ann_mlp and ann_td have never been compiled on linux
-
---------- Irix users:
ann_mlp and ann_td have never been compiled on irix
---------- OsX users:
-ann_mlp and ann_td have never been compiled on OsX and a Makefile is not provided, sorry.
+go to http://fann.sourceforge.net/ and download fann libs
+compile fann libs from source
+if you don't compile from source edit ann/src/makefile.darwin
+and set correct PATHs
+
+read ann/src/makefile.darwin for more info and edit PATHs
+
+compile with
+make -f makefile.darwin
diff --git a/src/makefile.darwin b/src/makefile.darwin
new file mode 100755
index 0000000..1881998
--- /dev/null
+++ b/src/makefile.darwin
@@ -0,0 +1,110 @@
+# 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"
+#
+
+# 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=/Users/davidemorelli/Desktop/robaDavide/Pd-0.38-3.app/Contents/Resources/src/
+
+# where is the PD executable?
+#PD=/usr/local/bin/pd
+PD=/Users/davidemorelli/Desktop/robaDavide/Pd-0.38-3.app/Contents/Resources/bin/pd
+
+# where do the flext libraries reside?
+#FLEXTPATH=/usr/local/lib/pd/flext
+#FLEXTPATH=../../grill/flext
+
+# where is fann lib?
+FANNLIB=/usr/local/lib/libfann.a
+
+# 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
+
+#FLEXTLIB=$(FLEXTPATH)/flext.a
+#FLEXTLIB=$(FLEXTPATH)/pd-darwin/libflext.a
+
+# compiler+linker stuff
+INCLUDES=$(PDPATH)
+LIBPATH=$(FANNLIB)
+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=ann
+
+# all the source files from the package
+SRCS=ann.c ann_mlp.c ann_td.c ann_som.c
+HDRS=
+
+DIR=.
+
+TARGET=$(TARGDIR)/$(NAME).pd_darwin
+
+# default target
+all: $(TARGDIR) $(TARGET)
+
+$(patsubst %,$(DIR)/%,$(SRCS)): $(patsubst %,$(DIR)/%,$(HDRS)) $(CONFIG)
+ touch $@
+
+$(TARGDIR):
+ -mkdir $(TARGDIR)
+
+$(TARGDIR)/%.o : $(DIR)/%.c
+ $(CXX) -c $(CFLAGS) $(FLAGS) $(patsubst %,-I%,$(INCLUDES)) $< -o $@
+# $(CXX) -c $(CFLAGS) $(FLAGS) $< -o $@
+
+#$(TARGET) : $(patsubst %.c,$(TARGDIR)/%.o,$(SRCS)) $(FANNLIB)
+$(TARGET) : $(patsubst %.c,$(TARGDIR)/%.o,$(SRCS))
+ $(CXX) $(LDFLAGS) -I$(INCLUDES) $^ $(FANNLIB) $(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)
+
+
+
+
+
+
+
+
+
+