source: issm/trunk-jpl/externalpackages/semic/install.sh@ 23540

Last change on this file since 23540 was 23540, checked in by rueckamp, 6 years ago

NEW: Added SEMIC capability

  • Property svn:executable set to *
File size: 1.3 KB
RevLine 
[23480]1#!/bin/bash
2set -eu
3
4#Some cleanup
[23540]5rm -rf install src
6mkdir install
[23480]7
8#Download latest version
[23540]9git clone https://github.com/mkrapp/semic.git src
[23480]10
11if which ifort >/dev/null; then
12 FC="ifort"
13 FFLAGS="-traceback -check all" #-O2 is default
14else
15 FC="gfortran"
16 if [ `uname` == "Darwin" ]; then
17 FC="gfortran -arch x86_64"
18 FFLAGS="-fcheck=all"
19 fi
20fi
21
22#Compile semic module utils.f90
23cd src/
24(
25cat << EOF
26LIB_EXT=a
27FC=$FC
28FFLAGS=$FFLAGS
29install: libutils.\$(LIB_EXT)
30 cp libutils.\$(LIB_EXT) ../install/
31OBJECTS= utils.o
32libutils.\$(LIB_EXT): \$(OBJECTS)
33 ar -r libutils.\$(LIB_EXT) \$(OBJECTS)
34 ranlib libutils.\$(LIB_EXT)
35%.o: %.f90
36 \$(FC) \$(FFLAGS) -fPIC -c $< -o \$@
37clean:
38 rm -rf *.o *.\$(LIB_EXT)
39EOF
40) > Makefile
41make
42
[23525]43# patch surface_physics
44patch surface_physics.f90 < ../surface_physics.f90.patch
45
[23480]46#Compile semic module surface_physics.f90
47(
48cat << EOF
49LIB_EXT=a
50FC=$FC
51FFLAGS=$FFLAGS
52install: libsurface_physics.\$(LIB_EXT)
53 cp libsurface_physics.\$(LIB_EXT) ../install/
54OBJECTS= surface_physics.o
55libsurface_physics.\$(LIB_EXT): \$(OBJECTS)
56 ar -r libsurface_physics.\$(LIB_EXT) \$(OBJECTS)
57 ranlib libsurface_physics.\$(LIB_EXT)
58%.o: %.f90
59 \$(FC) \$(FFLAGS) -fPIC -c $< -o \$@
60clean:
61 rm -rf *.o *.\$(LIB_EXT)
62EOF
63) > Makefile
64make
Note: See TracBrowser for help on using the repository browser.