/[escript]/trunk/mk
ViewVC logotype

Diff of /trunk/mk

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

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

Legend:
Removed from v.116  
changed lines
  Added in v.174

  ViewVC Help
Powered by ViewVC 1.1.26