changeset 238:f616b4f4475b

Make targets added, specific for Ingo's Mac OS X. These are: $ make TARGET=for_macports_gnu install $ make TARGET=for_macports_openmpi install
author Peter Jacobs <peterj@mech.uq.edu.au>
date Sun, 10 Jun 2012 22:39:29 +1000
parents 3946970cbe2a
children a39b4aac43ed
files doc/sphinx/eilmer3.rst doc/sphinx/getting-started.rst lib/util/source/systems.mk
diffstat 3 files changed, 51 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/doc/sphinx/eilmer3.rst	Wed Jun 06 15:18:15 2012 +1000
+++ b/doc/sphinx/eilmer3.rst	Sun Jun 10 22:39:29 2012 +1000
@@ -64,6 +64,16 @@
 use the same.
 If not, use whatever hierarchy you like.
 
+
+Building and running on Mac OSX
+-------------------------------
+This is mostly the same as for a Linux machine but we provide a couple of 
+specific targets::
+
+  $ make TARGET=for_macports_gnu install
+  $ make TARGET=for_macports_openmpi install
+
+
 Building and running on the Barrine cluster at UQ
 -------------------------------------------------
 The details of running simulations on any cluster computer will be specific 
--- a/doc/sphinx/getting-started.rst	Wed Jun 06 15:18:15 2012 +1000
+++ b/doc/sphinx/getting-started.rst	Sun Jun 10 22:39:29 2012 +1000
@@ -134,10 +134,15 @@
 popt, readline, SWIG and Tcl/Tk can either be installed from source
 or via a package manager such as MacPorts (http://www.macports.org/) or 
 Fink (http://www.finkproject.org/).
-If possible, it is recommended to install these dependencies from source.
-The required Python packages (numpy, scipy and matplotlib) are all available
-as pre-packaged binaries for OSX on sourceforge.net, although they can also
-be installed from source if necessary.
+
+Notes:
+
+#. If possible, it is recommended to install these dependencies from source.
+#. The required Python packages (numpy, scipy and matplotlib) are all available
+   as pre-packaged binaries for OSX on sourceforge.net, although they can also
+   be installed from source if necessary.
+#. Ingo has had a good experience installing binary packages from MacPorts,
+   the only subtly being the need to install swig and swig-python.
 
 SSH access to the repository for developers
 -------------------------------------------
--- a/lib/util/source/systems.mk	Wed Jun 06 15:18:15 2012 +1000
+++ b/lib/util/source/systems.mk	Sun Jun 10 22:39:29 2012 +1000
@@ -227,6 +227,20 @@
     LLIB    := -lm
 endif
 
+ifeq ($(TARGET), for_macports_gnu)
+    # OpenMPI on Mac OS-X with MacPorts
+    # PJ edits for Ingo's Mac 06-June-2012.
+    # Note that this works on LinuxMint13 as well as the default for_gnu.
+    COMPILE := gcc
+    LINK    := gcc
+    CXX     := g++
+    CXXLINK := g++
+    CFLAG   := -c $(OPT) -fPIC 
+    CXXFLAG := -c $(OPT) -fPIC 
+    LFLAG   :=  $(OPT) -fPIC -lstdc++
+    LLIB    := -lm -lstdc++
+endif
+
 ifeq ($(TARGET), for_gnu_openmp)
     # Linux Opteron server using GNU compiler
     COMPILE := gcc
@@ -241,7 +255,6 @@
     PCA     := -fopenmp
 endif
 
-
 # ------------------------------------
 #          Portland Compilers
 # ------------------------------------
@@ -301,6 +314,7 @@
     CXXFLAG := -c -O2 -fPIC -tp amd64 
 #    PCA     := -mp
 endif
+
 # -------------------------------------
 #  Intel compilers
 # -------------------------------------
@@ -466,8 +480,24 @@
     LLIB    := -lm
 endif
 
+ifeq ($(TARGET), for_macports_openmpi)
+    # OpenMPI on Mac OS-X with MacPorts
+    # PJ edits for Ingo's Mac 06-June-2012.
+    # Note (1) This works on LinuxMint13 as well as the usual for_openmpi.
+    # Note (2) The case sensitivity seems to work since Dan's note below,
+    #          at least within the xcode unix-like environment that Ingo uses.
+    COMPILE := mpicc
+    LINK    := mpicc
+    CXX     := mpiCC
+    CXXLINK := mpiCC
+    CFLAG   := -c $(OPT) -fPIC 
+    CXXFLAG := -c $(OPT) -fPIC 
+    LFLAG   :=  $(OPT) -fPIC -lstdc++
+    LLIB    := -lm -lstdc++ -lmpi_cxx
+endif
+
 ifeq ($(TARGET), for_mac_openmpi)
-    # OpenMPI on Mac OS X
+    # OpenMPI on Mac OS X as used by Dan Potter, PJ believes...
     # HFS+ is not case-sensitive, so need to use mpic++ instead of mpiCC.
     COMPILE := mpicc
     LINK    := mpicc