/[escript]/trunk/mk
ViewVC logotype

Diff of /trunk/mk

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 109 by jgs, Mon Feb 14 04:14:35 2005 UTC revision 149 by jgs, Thu Sep 1 03:31:39 2005 UTC
# Line 1  Line 1 
1  #!/bin/env bash  #!/bin/bash
2    
3  # $Id$  # $Id$
4  # a brutal building script for esys  # An explicit building script for esys
5    
6  export ESYS_ROOT=${ESYS_ROOT:=`pwd`}  #**********************************************************************
7    # NB: this script is setup to perform default developmental builds
8    # change any settings you require, but PLEASE do not check any changes
9    # to this script back into the repository - talk to Jon first
10    #**********************************************************************
11    
12  MODULES="tools/CppUnitTest tools/mmio esysUtils escript finley"  # the modules to make
13    MODULES="tools/CppUnitTest tools/mmio esysUtils escript finley bruce modellib"
14    
15  (cd escript/lib; if [ ! -e py_src ]; then mkdir py_src; fi)  # the modules to test
16    TESTS="escript finley bruce"
17    
18  (cd escript/inc; if [ ! -e escript ]; then ln -s ../src escript; fi)  # the python tests to run
19  (cd esysUtils/inc; if [ ! -e esysUtils ]; then ln -s ../src esysUtils; fi)  FINLEY_PYTESTS="ImportTest.py SimpleSolve.py GradTest.py test_linearPDEsOnFinley.py"
20  (cd finley/inc; if [ ! -e finley ]; then ln -s ../src finley; fi)  ESCRIPT_PYTESTS="ImportTest.py BinaryOps.py UnaryOps.py SliceGetting.py SliceSetting.py MiscTests.py newEscriptTests.py escriptTest.py DataVariableTests.py test_xml.py pdetoolsTest.py"
21    BRUCE_PYTESTS="ImportTest.py"
22    
23  (cd escript; if [ ! -e Makefile ]; then ln -s ./escript.mk Makefile; fi)  # use this setting for local developmental builds
24  (cd esysUtils; if [ ! -e Makefile ]; then ln -s ./esysUtils.mk Makefile; fi)  ENVVARS="DODEBUG=YES"
 (cd finley; if [ ! -e Makefile ]; then ln -s ./finley.mk Makefile; fi)  
 (cd tools/mmio; if [ ! -e Makefile ]; then ln -s ./mmio.mk Makefile; fi)  
 (cd tools/CppUnitTest; if [ ! -e Makefile ]; then ln -s ./CppUnitTest.mk Makefile; fi)  
25    
26  if [ "$1" == "clean" ];  if [ "$2" == "DEBUG" ]
27  then  then
28      for module in $MODULES ; do \      ENVVARS="DODEBUG=YES"
29          (echo Cleaning: $module; cd $module; gmake clean) \  fi
30    
31    if [ "$2" == "NODEBUG" ]
32    then
33        ENVVARS="DODEBUG=NO"
34    fi
35    
36    # use this setting for production installs on altix
37    # ** NB: overwrites centrally installed esys libraries on altix ***
38    #ENVVARS="$ENVVARS L_INSTLIB_DIR=/raid2/tools/esys/lib L_PYTH_DIR=/raid2/tools/esys/esys"
39    
40    # ensure required symlinks are setup first
41    (cd esysUtils/inc; if [ ! -h esysUtils ]; then ln -s ../src esysUtils; fi)
42    (cd escript/inc; if [ ! -h escript ]; then ln -s ../src escript; fi)
43    (cd finley/inc; if [ ! -h finley ]; then ln -s ../src finley; fi)
44    (cd bruce/inc; if [ ! -h bruce ]; then ln -s ../src bruce; fi)
45    
46    (cd tools/mmio; if [ ! -h Makefile ]; then ln -s ./mmio.mk Makefile; fi)
47    (cd tools/CppUnitTest; if [ ! -h Makefile ]; then ln -s ./CppUnitTest.mk Makefile; fi)
48    (cd esysUtils; if [ ! -h Makefile ]; then ln -s ./esysUtils.mk Makefile; fi)
49    (cd escript; if [ ! -h Makefile ]; then ln -s ./escript.mk Makefile; fi)
50    (cd finley; if [ ! -h Makefile ]; then ln -s ./finley.mk Makefile; fi)
51    (cd bruce; if [ ! -h Makefile ]; then ln -s ./bruce.mk Makefile; fi)
52    (cd modellib; if [ ! -h Makefile ]; then ln -s ./modellib.mk Makefile; fi)
53    
54    # clean all modules
55    if [ "$1" == "clean" ]
56    then
57        for module in $MODULES ; do
58            (echo Cleaning: $module; cd $module; make clean)
59      done      done
60          exit          exit 0
61  fi  fi
62    
63  for module in $MODULES ; do \  # uninstall all modules
64      (echo Building: $module; cd $module; gmake) \  if [ "$1" == "uninstall" ]
65    then
66        for module in $MODULES ; do
67            (echo Cleaning: $module; cd $module; make clean)
68        done
69        for module in $MODULES ; do
70            (echo Uninstalling: $module; cd $module; make uninstall)
71        done
72            exit 0
73    fi
74    
75    # run the unit tests
76    if [ "$1" == "unit_test" ]
77    then
78        for module in $TESTS
79        do
80        echo "Running unit tests for: $module"
81        cd $ESYS_ROOT/$module/test
82        ./unit_test
83            if [ $? != 0 ]
84            then
85              echo Unit Testing FAILED for module: $module
86              exit 1
87            fi
88        done
89        exit 0
90    fi
91    
92    # run the python tests
93    if [ "$1" == "py_test" ]
94    then
95        for module in $TESTS
96        do
97        echo "Running python tests for: $module"
98        cd $ESYS_ROOT/$module/test/python
99        if [ "$module" == "finley" ]
100        then
101                for pytest in $FINLEY_PYTESTS
102                do
103                echo "Running python test: $pytest"
104                    python $pytest
105                    if [ $? != 0 ]
106                    then
107                      echo Python Testing FAILED for $pytest in module $module
108                      exit 1
109                    fi
110                done
111        elif [ "$module" == "escript" ]
112        then
113                for pytest in $ESCRIPT_PYTESTS
114                do
115                echo "Running python test: $pytest"
116                    python $pytest
117                    if [ $? != 0 ]
118                    then
119                      echo Python Testing FAILED for $pytest in module $module
120                      exit 1
121                    fi
122                done
123        elif [ "$module" == "bruce" ]
124        then
125                for pytest in $BRUCE_PYTESTS
126                do
127                echo "Running python test: $pytest"
128                    python $pytest
129                    if [ $? != 0 ]
130                    then
131                      echo Python Testing FAILED for $pytest in module $module
132                      exit 1
133                    fi
134                done
135        fi
136        done
137        exit 0
138    fi
139    
140    # default case - just build all modules
141    echo "*************** build ************************************"
142    for module in $MODULES ; do
143        (echo Building: $module; cd $module; env $ENVVARS make -j 10)
144            if [ $? != 0 ]
145            then
146                echo Build FAILED for module: $module
147                exit 1
148            fi
149  done  done
150    
151  if [ "$1" == "install" ];  # install all modules
152    if [ "$1" == "install" ]
153  then  then
154            echo "***************installation ************************************"
155      for module in $MODULES ; do \      for module in $MODULES ; do \
156          (echo Installing: $module; cd $module; gmake install) \                  echo ENVVARS = $ENVVARS
157            (echo Installing: $module; cd $module; env $ENVVARS make install)
158                    if [ $? != 0 ]
159                    then
160                      echo Installation FAILED for module: $module
161                      exit 1
162                    fi
163      done      done
164      (cd esys; if [ ! -e escriptcpp.so ]; then ln -s ../lib/libescriptcpp.so escriptcpp.so; fi)          (cd esys; touch __init__.py)
165      (cd esys; if [ ! -e finleycpp.so ]; then ln -s ../lib/libfinleycpp.so finleycpp.so; fi)          (cd esys/escript; if [ ! -h escriptcpp.so ]; then ln -s ../../lib/libescriptcpp.so escriptcpp.so; fi)
166            (cd esys/finley; if [ ! -h finleycpp.so ]; then ln -s ../../lib/libfinleycpp.so finleycpp.so; fi)
167            (cd esys/bruce; if [ ! -h brucecpp.so ]; then ln -s ../../lib/libbrucecpp.so brucecpp.so; fi)
168            exit 0
169  fi  fi
   

Legend:
Removed from v.109  
changed lines
  Added in v.149

  ViewVC Help
Powered by ViewVC 1.1.26