325 |
|
|
326 |
#================================================================ |
#================================================================ |
327 |
# look for possible C compilers |
# look for possible C compilers |
328 |
tmp="$MITGCM_CC $CC gcc c89 cc c99 mpicc" |
tmp="$MITGCM_CC $CC gcc c89 cc c99 mpicc icc" |
329 |
p_CC= |
p_CC= |
330 |
for c in $tmp ; do |
for c in $tmp ; do |
331 |
rm -f ./genmake_hello.c ./genmake_hello |
rm -f ./genmake_hello.c ./genmake_hello |
364 |
|
|
365 |
#================================================================ |
#================================================================ |
366 |
# look for possible FORTRAN compilers |
# look for possible FORTRAN compilers |
367 |
tmp="$MITGCM_FC $FC efc g77 f77 pgf77 pgf95 ifc f90 f95 mpif77 mpf77 mpxlf95 gfortran" |
tmp="$MITGCM_FC $FC efc g77 f77 pgf77 pgf95 ifc ifort f90 f95 mpif77 mpf77 mpxlf95 gfortran g95" |
368 |
p_FC= |
p_FC= |
369 |
for c in $tmp ; do |
for c in $tmp ; do |
370 |
rm -f ./hello.f ./hello |
rm -f ./hello.f ./hello |
601 |
|
|
602 |
-gsl | --gsl |
-gsl | --gsl |
603 |
Use GSL to control floating point rounding and precision |
Use GSL to control floating point rounding and precision |
604 |
|
-devel | --devel |
605 |
|
Add additional warning and debugging flags for development |
606 |
|
|
607 |
-mpi | --mpi |
-mpi | --mpi |
608 |
Include MPI header files and link to MPI libraries |
Include MPI header files and link to MPI libraries |
756 |
print *," HELLO WORLD", wtime |
print *," HELLO WORLD", wtime |
757 |
end |
end |
758 |
EOF |
EOF |
759 |
$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o >> genmake_warnings 2>&1 |
COMM="$FC $FFLAGS -o genmake_tc genmake_tc_2.$FS genmake_tc_1.o" |
760 |
|
echo $COMM >> genmake_warnings |
761 |
|
$COMM >> genmake_warnings 2>&1 |
762 |
RET_F=$? |
RET_F=$? |
763 |
test -x ./genmake_tc && ./genmake_tc >> genmake_warnings 2>&1 |
test -x ./genmake_tc && ./genmake_tc >> genmake_warnings 2>&1 |
764 |
RETVAL=$? |
RETVAL=$? |
771 |
|
|
772 |
|
|
773 |
check_HAVE_SIGREG() { |
check_HAVE_SIGREG() { |
774 |
|
if test ! "x$HAVE_SIGREG" = x ; then |
775 |
|
return |
776 |
|
fi |
777 |
get_fortran_c_namemangling |
get_fortran_c_namemangling |
778 |
cat <<EOF > genmake_tc_1.c |
cat <<EOF > genmake_tc_1.c |
779 |
$FC_NAMEMANGLE |
$FC_NAMEMANGLE |
831 |
|
|
832 |
|
|
833 |
check_HAVE_SETRLSTK() { |
check_HAVE_SETRLSTK() { |
834 |
|
if test "x$HAVE_SETRLSTK" = xt ; then |
835 |
|
DEFINES="$DEFINES -DHAVE_SETRLSTK" |
836 |
|
return |
837 |
|
fi |
838 |
|
if test ! "x$HAVE_SETRLSTK" = x ; then |
839 |
|
return |
840 |
|
fi |
841 |
get_fortran_c_namemangling |
get_fortran_c_namemangling |
842 |
cat <<EOF > genmake_tc_1.c |
cat <<EOF > genmake_tc_1.c |
843 |
$FC_NAMEMANGLE |
$FC_NAMEMANGLE |
948 |
cat genmake_tnc.F >> genmake_tnc.log |
cat genmake_tnc.F >> genmake_tnc.log |
949 |
echo "=== genmake_tnc.F ===" >> genmake_tnc.log |
echo "=== genmake_tnc.F ===" >> genmake_tnc.log |
950 |
RET_CPP=f |
RET_CPP=f |
951 |
COMM="$CPP $DEFINES $INCLUDES genmake_tnc.F" |
COMM="cat genmake_tnc.F | $CPP $DEFINES $INCLUDES" |
952 |
echo "$COMM" >> genmake_tnc.log |
echo "$COMM" >> genmake_tnc.log |
953 |
$COMM > genmake_tnc.$FS 2>/dev/null && RET_CPP=t |
eval $COMM > genmake_tnc.$FS 2>/dev/null && RET_CPP=t |
954 |
if test "x$RET_CPP" = xf ; then |
if test "x$RET_CPP" = xf ; then |
955 |
echo " WARNING: CPP failed to pre-process the netcdf test." \ |
echo " WARNING: CPP failed to pre-process the netcdf test." \ |
956 |
>> genmake_tnc.log |
>> genmake_tnc.log |
958 |
>> genmake_tnc.log |
>> genmake_tnc.log |
959 |
fi |
fi |
960 |
echo "$FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log |
echo "$FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log |
961 |
echo " && $LINK -o genmake_tnc.o $LIBS" >> genmake_tnc.log |
echo " && $LINK $FFLAGS $FOPTIM -o genmake_tnc.o $LIBS" >> genmake_tnc.log |
962 |
$FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1 \ |
$FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1 \ |
963 |
&& $LINK -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1 |
&& $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1 |
964 |
RET_COMPILE=$? |
RET_COMPILE=$? |
965 |
cat genmake_tnc.log >> genmake_warnings |
cat genmake_tnc.log >> genmake_warnings |
966 |
|
|
976 |
else |
else |
977 |
# try again with "-lnetcdf" added to the libs |
# try again with "-lnetcdf" added to the libs |
978 |
echo "try again with added '-lnetcdf'" > genmake_tnc.log |
echo "try again with added '-lnetcdf'" > genmake_tnc.log |
979 |
echo "$CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS \ " >> genmake_tnc.log |
echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log |
980 |
echo " && $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log |
echo " && $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log |
981 |
echo " && $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log |
echo " && $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log |
982 |
$CPP $DEFINES $INCLUDES genmake_tnc.F > genmake_tnc.$FS 2>/dev/null \ |
cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS 2>/dev/null \ |
983 |
&& $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1 \ |
&& $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1 \ |
984 |
&& $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1 |
&& $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1 |
985 |
RET_COMPILE=$? |
RET_COMPILE=$? |
986 |
cat genmake_tnc.log >> genmake_warnings |
cat genmake_tnc.log >> genmake_warnings |
987 |
if test "x$RET_COMPILE" = x0 ; then |
if test "x$RET_COMPILE" = x0 ; then |
988 |
LIBS="$LIBS -lnetcdf" |
LIBS="$LIBS -lnetcdf" |
989 |
HAVE_NETCDF=t |
HAVE_NETCDF=t |
990 |
|
else |
991 |
|
# try again with "-lnetcdff" added to the libs |
992 |
|
echo "try again with added '-lnetcdff -lnetcdf'" > genmake_tnc.log |
993 |
|
echo "cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS \ " >> genmake_tnc.log |
994 |
|
echo " && $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS \ " >> genmake_tnc.log |
995 |
|
echo " && $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf" >> genmake_tnc.log |
996 |
|
cat genmake_tnc.F | $CPP $DEFINES $INCLUDES > genmake_tnc.$FS 2>/dev/null \ |
997 |
|
&& $FC $FFLAGS $FOPTIM -c genmake_tnc.$FS >> genmake_tnc.log 2>&1 \ |
998 |
|
&& $LINK $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.o $LIBS -lnetcdff -lnetcdf >> genmake_tnc.log 2>&1 |
999 |
|
RET_COMPILE=$? |
1000 |
|
cat genmake_tnc.log >> genmake_warnings |
1001 |
|
if test "x$RET_COMPILE" = x0 ; then |
1002 |
|
LIBS="$LIBS -lnetcdff -lnetcdf" |
1003 |
|
HAVE_NETCDF=t |
1004 |
|
fi |
1005 |
fi |
fi |
1006 |
fi |
fi |
1007 |
rm -f genmake_tnc* |
rm -f genmake_tnc* |
1055 |
PCL= |
PCL= |
1056 |
HPMT= |
HPMT= |
1057 |
GSL= |
GSL= |
1058 |
|
DEVEL= |
1059 |
HAVE_TEST_L= |
HAVE_TEST_L= |
1060 |
|
|
1061 |
# DEFINES checked by test compilation or command-line |
# DEFINES checked by test compilation or command-line |
1063 |
HAVE_FDATE= |
HAVE_FDATE= |
1064 |
FC_NAMEMANGLE= |
FC_NAMEMANGLE= |
1065 |
HAVE_CLOC= |
HAVE_CLOC= |
1066 |
HAVE_SETRLSTK= |
# HAVE_SETRLSTK= |
1067 |
HAVE_STAT= |
HAVE_STAT= |
1068 |
HAVE_NETCDF= |
HAVE_NETCDF= |
1069 |
HAVE_ETIME= |
HAVE_ETIME= |
1114 |
|
|
1115 |
# The following state can be set directly by command-line switches |
# The following state can be set directly by command-line switches |
1116 |
gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE" |
gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE PLATFORM ROOTDIR MODS DISABLE ENABLE" |
1117 |
gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL MPI JAM DUMPSTATE STANDARDDIRS" |
gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS" |
1118 |
|
|
1119 |
# The following state is not directly set by command-line switches |
# The following state is not directly set by command-line switches |
1120 |
gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM " |
gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM " |
1312 |
-gsl | --gsl) |
-gsl | --gsl) |
1313 |
GSL=true ;; |
GSL=true ;; |
1314 |
|
|
1315 |
|
-devel | --devel) |
1316 |
|
DEVEL=true ;; |
1317 |
|
|
1318 |
-mpi | --mpi) |
-mpi | --mpi) |
1319 |
MPI=true ;; |
MPI=true ;; |
1320 |
-mpi=* | --mpi=*) |
-mpi=* | --mpi=*) |
1363 |
if test -f ./.genmakerc ; then |
if test -f ./.genmakerc ; then |
1364 |
echo |
echo |
1365 |
echo "WARNING: genmake2 has detected a copy of the old-style \"./.genmakerc\"" |
echo "WARNING: genmake2 has detected a copy of the old-style \"./.genmakerc\"" |
1366 |
echo " file. This file format is no longer supported. Please see:" |
echo " file. This file format is no longer supported. For directions on" |
1367 |
echo |
echo " how to setup and use the new \"genmake2\" script, please see:" |
1368 |
echo " http://mitgcm.org/devel_HOWTO/" |
echo " http://mitgcm.org/devel_HOWTO/" |
1369 |
echo |
echo " and send an email to MITgcm-support@mitgcm.org if you need help." |
1370 |
echo " for directions on how to setup and use the new \"genmake2\" input" |
echo "WARNING: ignore \"./.genmakerc\" and continue." |
|
echo " files and send an email to MITgcm-support@mitgcm.org if you want help." |
|
1371 |
echo |
echo |
1372 |
fi |
fi |
1373 |
|
|
1374 |
# Find the MITgcm ${ROOTDIR} |
# Find the MITgcm ${ROOTDIR} |
1375 |
if test "x${ROOTDIR}" = x ; then |
if test "x${ROOTDIR}" = x ; then |
1376 |
tmp=`echo $PWD | sed -e 's/\// /g' | $AWK '{print $NR}'` |
tmp=`echo $PWD | sed -e 's/\// /g' | $AWK '{print $NR}'` |
1377 |
if test "x$tmp" = "xbin" -a -d ../model -a -d ../eesup -a -d ../pkg ; then |
if test "x$tmp" = "xbin" -a -d ../model -a -d ../eesupp -a -d ../pkg ; then |
1378 |
ROOTDIR=".." |
ROOTDIR=".." |
1379 |
else |
else |
1380 |
for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do |
for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do |
1713 |
|
|
1714 |
printf " Can we unlimit the stack size using $FC... " |
printf " Can we unlimit the stack size using $FC... " |
1715 |
check_HAVE_SETRLSTK |
check_HAVE_SETRLSTK |
1716 |
if test "x$HAVE_SETRLSTK" != x ; then |
if test "x$HAVE_SETRLSTK" = xt ; then |
1717 |
echo "yes" |
echo "yes" |
1718 |
else |
else |
1719 |
echo "no" |
echo "no" |
1722 |
|
|
1723 |
printf " Can we register a signal handler using $FC... " |
printf " Can we register a signal handler using $FC... " |
1724 |
check_HAVE_SIGREG |
check_HAVE_SIGREG |
1725 |
if test "x$HAVE_SIGREG" != x ; then |
if test "x$HAVE_SIGREG" = xt ; then |
1726 |
echo "yes" |
echo "yes" |
1727 |
else |
else |
1728 |
echo "no" |
echo "no" |
1840 |
fi |
fi |
1841 |
fi |
fi |
1842 |
|
|
1843 |
#same for exch2 |
#same for pkg/exch2 and pkg/regrid |
1844 |
if test -r $ROOTDIR"/pkg/exch2/Makefile" ; then |
for pdir in exch2 regrid ; do |
1845 |
echo " Making source files in exch2 from templates" |
if test -r $ROOTDIR"/pkg/${pdir}/Makefile" ; then |
1846 |
( cd $ROOTDIR"/pkg/exch2/" && $MAKE ) > make_exch2.errors 2>&1 |
echo " Making source files in pkg/${pdir} from templates" |
1847 |
RETVAL=$? |
( cd $ROOTDIR"/pkg/"${pdir} && $MAKE ) > make_${pdir}.errors 2>&1 |
1848 |
if test "x${RETVAL}" = x0 ; then |
RETVAL=$? |
1849 |
rm -f make_exch2.errors |
if test "x${RETVAL}" = x0 ; then |
1850 |
else |
rm -f make_${pdir}.errors |
1851 |
echo "Error: problem encountered while building source files in exch2:" |
else |
1852 |
cat make_exch2.errors 1>&2 |
echo "Error: problem encountered while building source files in pkg/${pdir}:" |
1853 |
exit 1 |
cat make_${pdir}.errors 1>&2 |
1854 |
|
exit 1 |
1855 |
|
fi |
1856 |
fi |
fi |
1857 |
fi |
done |
1858 |
|
|
1859 |
printf "\n=== Determining package settings ===\n" |
printf "\n=== Determining package settings ===\n" |
1860 |
if test "x${PDEPEND}" = x ; then |
if test "x${PDEPEND}" = x ; then |
1965 |
rm -f ./.tmp_pack |
rm -f ./.tmp_pack |
1966 |
echo " packages are: $PACKAGES" |
echo " packages are: $PACKAGES" |
1967 |
|
|
1968 |
# Check availability of NetCDF and then either build the MNC template |
# Check for package MNC: if NetCDF is available, then build the MNC |
1969 |
# files or delete mnc from the list of available packages. |
# template files ; otherwise, delete mnc from the list of packages. |
1970 |
echo $PACKAGES | grep ' mnc ' > /dev/null 2>&1 |
echo $PACKAGES | grep ' mnc ' > /dev/null 2>&1 |
1971 |
RETVAL=$? |
RETVAL=$? |
1972 |
if test "x$RETVAL" = x0 ; then |
if test "x$RETVAL" = x0 ; then |
2000 |
fi |
fi |
2001 |
fi |
fi |
2002 |
|
|
2003 |
|
# Check for package PROFILES: if NetCDF is not available, |
2004 |
|
# then delete profiles from the list of available packages. |
2005 |
|
echo $PACKAGES | grep ' profiles ' > /dev/null 2>&1 |
2006 |
|
RETVAL=$? |
2007 |
|
if test "x$RETVAL" = x0 ; then |
2008 |
|
if test "x$HAVE_NETCDF" != xt ; then |
2009 |
|
cat <<EOF |
2010 |
|
|
2011 |
|
********************************************************************* |
2012 |
|
WARNING: the "profiles" package was enabled but tests failed to |
2013 |
|
compile NetCDF applications. Please check that: |
2014 |
|
|
2015 |
|
1) NetCDF is correctly installed for this compiler and |
2016 |
|
2) the LIBS variable (within the "optfile") specifies the correct |
2017 |
|
NetCDF library to link against. |
2018 |
|
|
2019 |
|
Due to this failure, the "profiles" package is now DISABLED. |
2020 |
|
********************************************************************* |
2021 |
|
|
2022 |
|
EOF |
2023 |
|
PACKAGES=`echo $PACKAGES | sed -e 's/profiles//g'` |
2024 |
|
DISABLE="$DISABLE profiles" |
2025 |
|
fi |
2026 |
|
fi |
2027 |
|
|
2028 |
echo " applying package dependency rules" |
echo " applying package dependency rules" |
2029 |
ck= |
ck= |
2030 |
while test "x$ck" != xtt ; do |
while test "x$ck" != xtt ; do |
2031 |
i=0 |
i=0 |
2032 |
# rtot=${#PNAME[@]} |
# rtot=${#PNAME[@]} |
2033 |
rtot=$nname |
rtot=$nname |
2034 |
while test $i -lt $rtot ; do |
while test $i -le $rtot ; do |
2035 |
|
|
2036 |
# Is $pname in the current $PACKAGES list? |
# Is $pname in the current $PACKAGES list? |
2037 |
# pname=${PNAME[$i]} |
# pname=${PNAME[$i]} |
2065 |
|
|
2066 |
# Do we need to add $dname according to the dependency rules? |
# Do we need to add $dname according to the dependency rules? |
2067 |
if test "x$pin" = xt -a "x$plus" = "x+" -a "x$din" = xf ; then |
if test "x$pin" = xt -a "x$plus" = "x+" -a "x$din" = xf ; then |
2068 |
|
#echo " " $pname ": need to add :" $dname |
2069 |
in_dis="f" |
in_dis="f" |
2070 |
for dis in $DISABLE ; do |
for dis in $DISABLE ; do |
2071 |
if test "x$dis" = "x$dname" ; then |
if test "x$dis" = "x$dname" ; then |
2255 |
perl -i -pe 's/MPI_DISPLACEMENT_CURRENT=-1_8/MPI_DISPLACEMENT_CURRENT=-1/g' mpi_headers/mpif.h |
perl -i -pe 's/MPI_DISPLACEMENT_CURRENT=-1_8/MPI_DISPLACEMENT_CURRENT=-1/g' mpi_headers/mpif.h |
2256 |
else |
else |
2257 |
echo " We cannot create a copy of mpif.h!" |
echo " We cannot create a copy of mpif.h!" |
2258 |
exit -1 |
# exit -1 |
2259 |
fi |
fi |
2260 |
fi |
fi |
2261 |
|
|
2506 |
|
|
2507 |
libmitgcmuv.a: \$(OBJFILES) |
libmitgcmuv.a: \$(OBJFILES) |
2508 |
ar rcv libmitgcmuv.a \$(OBJFILES) |
ar rcv libmitgcmuv.a \$(OBJFILES) |
2509 |
|
ar d libmitgcmuv.a main.o |
2510 |
|
|
2511 |
links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES) |
links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES) \$(SPECIAL_FILES) |
2512 |
|
|
2517 |
@\$(EXECUTABLE) > \$@ |
@\$(EXECUTABLE) > \$@ |
2518 |
|
|
2519 |
clean: |
clean: |
2520 |
-rm -rf *.o *.$FS *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template |
-rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template |
2521 |
|
-rm -rf *.o |
2522 |
|
-rm -rf *.$FS |
2523 |
Clean: |
Clean: |
2524 |
@make clean |
@make clean |
2525 |
@make cleanlinks |
@make cleanlinks |
2530 |
-find \$(EXEDIR) -name "*.meta" -exec rm {} \; |
-find \$(EXEDIR) -name "*.meta" -exec rm {} \; |
2531 |
-find \$(EXEDIR) -name "*.data" -exec rm {} \; |
-find \$(EXEDIR) -name "*.data" -exec rm {} \; |
2532 |
-find \$(EXEDIR) -name "fort.*" -exec rm {} \; |
-find \$(EXEDIR) -name "fort.*" -exec rm {} \; |
2533 |
-rm -f \$(EXECUTABLE) *.txt STD* *diagnostics.log datetime |
-rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime |
2534 |
-rm -rf mnc_test_* |
-rm -rf mnc_test_* |
2535 |
|
|
2536 |
#eh3 Makefile: makefile |
#eh3 Makefile: makefile |
2589 |
\$(CPP) \$(DEFINES) \$(INCLUDES) > \$@ |
\$(CPP) \$(DEFINES) \$(INCLUDES) > \$@ |
2590 |
.$FS.o: |
.$FS.o: |
2591 |
\$(FC) \$(FFLAGS) \$(FOPTIM) -c \$< |
\$(FC) \$(FFLAGS) \$(FOPTIM) -c \$< |
2592 |
.F90.$FS90: |
.F90.o: |
|
\$(CPP) \$(DEFINES) \$(INCLUDES) > \$@ |
|
|
.$FS90.o: |
|
2593 |
\$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$< |
\$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$< |
2594 |
.c.o: |
.c.o: |
2595 |
\$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$< |
\$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$< |
2616 |
ad_vars="$ad_vars SVD_TAMC_FLAGS SVD_TAF_FLAGS" |
ad_vars="$ad_vars SVD_TAMC_FLAGS SVD_TAF_FLAGS" |
2617 |
for i in $ad_vars ; do |
for i in $ad_vars ; do |
2618 |
name=$i |
name=$i |
2619 |
t1="t2=\$"`echo $i` |
t1="t2=\$"`echo "$i"` |
2620 |
eval $t1 |
eval $t1 |
2621 |
printf "%-20s = " $name >> $MAKEFILE |
printf "%-20s = " $name >> $MAKEFILE |
2622 |
echo $t2 >> $MAKEFILE |
echo "$t2" | sed -e 's| \+| |g' >> $MAKEFILE |
2623 |
done |
done |
2624 |
|
|
2625 |
echo " Add the source list for AD code generation" |
echo " Add the source list for AD code generation" |
2636 |
cat >>$MAKEFILE <<EOF |
cat >>$MAKEFILE <<EOF |
2637 |
|
|
2638 |
# ... AD ... |
# ... AD ... |
2639 |
adall: ad_taf |
adall: \$(EXE_AD) |
2640 |
adtaf: ad_taf_output.$FS |
adtaf: ad_taf_output.$FS |
2641 |
adtamc: ad_tamc_output.$FS |
adtamc: ad_tamc_output.$FS |
2642 |
|
|
2656 |
\$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
\$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
2657 |
cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS |
cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS |
2658 |
|
|
2659 |
ad_taf: ad_taf_output.o \$(OBJFILES) |
\${EXE_AD}: ad_taf_output.o \$(OBJFILES) |
2660 |
\$(LINK) -o ${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS) |
\$(LINK) -o \${EXE_AD} \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) ad_taf_output.o \$(LIBS) |
2661 |
|
|
2662 |
ad_tamc_output.$FS: ad_input_code.$FS |
ad_tamc_output.$FS: ad_input_code.$FS |
2663 |
\$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS |
\$(TAMC) \$(AD_TAMC_FLAGS) \$(TAMC_EXTRA) ad_input_code.$FS |