55 |
HAVE_MPACK=f |
HAVE_MPACK=f |
56 |
fi |
fi |
57 |
echo -n "building mpack... " |
echo -n "building mpack... " |
58 |
|
if test "x$CC" = x ; then |
59 |
|
export CC=cc |
60 |
|
fi |
61 |
( cd $MPACKDIR && ./configure && $MAKE ) > tr_build_mpack.out 2>&1 |
( cd $MPACKDIR && ./configure && $MAKE ) > tr_build_mpack.out 2>&1 |
62 |
RETVAL=$? |
RETVAL=$? |
63 |
if test "x$RETVAL" != x0 ; then |
if test "x$RETVAL" != x0 ; then |
319 |
) |
) |
320 |
} |
} |
321 |
|
|
322 |
|
symlink_mpifiles() |
323 |
|
{ |
324 |
|
# Put special links so that MPI specific files are used |
325 |
|
# This MUST be invoked between makeclean and makelinks because |
326 |
|
# the Makefile will link to non-mpi files by default |
327 |
|
|
328 |
|
dir=$1 |
329 |
|
code_dir=$2 |
330 |
|
BUILD_DIR=$dir/$3 |
331 |
|
CODE_DIR=$dir/$code_dir |
332 |
|
|
333 |
|
# These are files that should replace their counter-part when using -mpi |
334 |
|
MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")` |
335 |
|
|
336 |
|
# Is this an MPI run? |
337 |
|
if test "x$MPI" = xt ; then |
338 |
|
# YES: We symbolically link these files to the build |
339 |
|
# dir so long as there is no real file in place |
340 |
|
for ii in $MPI_FILES ; do |
341 |
|
i=`echo $ii | sed 's:^\./::'` |
342 |
|
name=`echo $i | sed 's:_mpi::' ` |
343 |
|
cmp $CODE_DIR/$i $BUILD_DIR/$name > /dev/null 2>&1 |
344 |
|
RETVAL=$? |
345 |
|
if test "x$RETVAL" != x0 ; then |
346 |
|
if ! test -f $BUILD_DIR/$i ; then |
347 |
|
#echo Linking $name to $i |
348 |
|
(cd $BUILD_DIR; ln -sf ../$code_dir/$i $name) |
349 |
|
fi |
350 |
|
fi |
351 |
|
done |
352 |
|
else |
353 |
|
# NO: We undo any _mpi symbolically linked files |
354 |
|
for ii in $MPI_FILES ; do |
355 |
|
i=`echo $ii | sed 's:^\./::'` |
356 |
|
name=`echo $i | sed 's:_mpi::' ` |
357 |
|
if test -L $BUILD_DIR/$name ; then |
358 |
|
linktarg=`(cd $BUILD_DIR; readlink $name)` |
359 |
|
if test $linktarg = "../$code_dir/$name"_mpi ; then |
360 |
|
#echo Un-linking $name from $linktarg |
361 |
|
rm -f $BUILD_DIR/$name |
362 |
|
fi |
363 |
|
fi |
364 |
|
done |
365 |
|
fi |
366 |
|
|
367 |
|
} |
368 |
|
|
369 |
linkdata() |
linkdata() |
370 |
{ |
{ |
371 |
# linkdata flag |
# linkdata flag |
774 |
continue |
continue |
775 |
fi |
fi |
776 |
|
|
|
echo "-------------------------------------------------------------------------------" |
|
|
echo |
|
|
echo "Experiment: $dir" |
|
|
echo |
|
|
unset genmake makedepend make run |
|
|
results='-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --' |
|
|
|
|
777 |
builddir="input" |
builddir="input" |
778 |
rundir="input" |
rundir="input" |
779 |
use_seperate_build=0 |
use_seperate_build=0 |
785 |
fi |
fi |
786 |
|
|
787 |
if test "x$ADM" = x ; then |
if test "x$ADM" = x ; then |
788 |
|
code_dir=code |
789 |
CODE_DIR=$dir/code |
CODE_DIR=$dir/code |
790 |
else |
else |
791 |
|
code_dir=code_ad |
792 |
CODE_DIR=$dir/code_ad |
CODE_DIR=$dir/code_ad |
793 |
fi |
fi |
794 |
BUILD_DIR=$dir/$builddir |
BUILD_DIR=$dir/$builddir |
|
MPI_FILES="CPP_EEOPTIONS.h_mpi SIZE.h_mpi" |
|
|
NOMPI_FILES="CPP_EEOPTIONS.h_nompi SIZE.h_nompi" |
|
795 |
|
|
796 |
# Is this an MPI run? |
if test ! -r $CODE_DIR"/SIZE.h_mpi" ; then |
797 |
if test "x$MPI" = xt ; then |
echo "can't find \"$CODE_DIR/SIZE.h_mpi\" -- skipping $dir" |
|
FILES=$MPI_FILES |
|
|
endings="_mpi" |
|
|
else |
|
|
FILES=$NOMPI_FILES |
|
|
endings="_nompi" |
|
|
fi |
|
|
|
|
|
# Check to see that we have the files |
|
|
have_files=t |
|
|
for i in $FILES ; do |
|
|
if test ! -r $CODE_DIR/$i ; then |
|
|
echo "Warning: can't read file $CODE_DIR/$i" |
|
|
have_files=f |
|
|
fi |
|
|
done |
|
|
if test "x$have_files" != xt -a "x$MPI" = xt ; then |
|
|
echo "Skipping $dir due to lack of input files (see above warning)" |
|
798 |
continue |
continue |
799 |
fi |
fi |
800 |
|
|
801 |
# If we have the $FILES and they differ, copy the $FILES to $BUILD_DIR |
echo "-------------------------------------------------------------------------------" |
802 |
if test "x$have_files" = xt ; then |
echo |
803 |
for i in $FILES ; do |
echo "Experiment: $dir" |
804 |
sstr="s|$endings||" |
echo |
805 |
name=`echo $i | sed -e $sstr ` |
unset genmake makedepend make run |
806 |
cmp $CODE_DIR/$i $BUILD_DIR/$name > /dev/null 2>&1 |
results='-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --' |
807 |
RETVAL=$? |
|
|
if test "x$RETVAL" != x0 ; then |
|
|
cp $CODE_DIR/$i $BUILD_DIR/$name |
|
|
fi |
|
|
done |
|
|
fi |
|
|
|
|
808 |
# Create an output dir for each OPTFILE/tdir combination |
# Create an output dir for each OPTFILE/tdir combination |
809 |
rel_CDIR=$DRESULTS"/"$dir |
rel_CDIR=$DRESULTS"/"$dir |
810 |
mkdir $rel_CDIR |
mkdir $rel_CDIR |
815 |
else |
else |
816 |
genmakemodel $dir/$builddir && genmake=Y \ |
genmakemodel $dir/$builddir && genmake=Y \ |
817 |
&& makeclean $dir/$builddir \ |
&& makeclean $dir/$builddir \ |
818 |
|
&& symlink_mpifiles $dir $code_dir $builddir \ |
819 |
&& makedependmodel $dir/$builddir && makedepend=Y \ |
&& makedependmodel $dir/$builddir && makedepend=Y \ |
820 |
&& makemodel $dir/$builddir && make=Y \ |
&& makemodel $dir/$builddir && make=Y \ |
821 |
&& linkdata $use_seperate_build $dir/$rundir \ |
&& linkdata $use_seperate_build $dir/$rundir \ |