746 |
*curtim = *curtim/1.E6; |
*curtim = *curtim/1.E6; |
747 |
} |
} |
748 |
EOF |
EOF |
749 |
make genmake_tc_1.o >> genmake_warnings 2>&1 |
COMM="$CC $CFLAGS -c genmake_tc_1.c" |
750 |
|
echo $COMM >> genmake_warnings |
751 |
|
$COMM >> genmake_warnings 2>&1 |
752 |
RET_C=$? |
RET_C=$? |
753 |
cat <<EOF > genmake_tc_2.$FS |
cat <<EOF > genmake_tc_2.$FS |
754 |
program hello |
program hello |
758 |
print *," HELLO WORLD", wtime |
print *," HELLO WORLD", wtime |
759 |
end |
end |
760 |
EOF |
EOF |
761 |
$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" |
762 |
|
echo $COMM >> genmake_warnings |
763 |
|
$COMM >> genmake_warnings 2>&1 |
764 |
RET_F=$? |
RET_F=$? |
765 |
test -x ./genmake_tc && ./genmake_tc >> genmake_warnings 2>&1 |
test -x ./genmake_tc && ./genmake_tc >> genmake_warnings 2>&1 |
766 |
RETVAL=$? |
RETVAL=$? |
807 |
return; |
return; |
808 |
} |
} |
809 |
EOF |
EOF |
810 |
make genmake_tc_1.o >> genmake_warnings 2>&1 |
COMM="$CC $CFLAGS -c genmake_tc_1.c" |
811 |
|
echo $COMM >> genmake_warnings |
812 |
|
$COMM >> genmake_warnings 2>&1 |
813 |
RET_C=$? |
RET_C=$? |
814 |
cat <<EOF > genmake_tc_2.$FS |
cat <<EOF > genmake_tc_2.$FS |
815 |
program hello |
program hello |
857 |
return; |
return; |
858 |
} |
} |
859 |
EOF |
EOF |
860 |
make genmake_tc_1.o >> genmake_warnings 2>&1 |
COMM="$CC $CFLAGS -c genmake_tc_1.c" |
861 |
|
echo $COMM >> genmake_warnings |
862 |
|
$COMM >> genmake_warnings 2>&1 |
863 |
RET_C=$? |
RET_C=$? |
864 |
cat <<EOF > genmake_tc_2.$FS |
cat <<EOF > genmake_tc_2.$FS |
865 |
program hello |
program hello |
903 |
*nbyte = -1; |
*nbyte = -1; |
904 |
} |
} |
905 |
EOF |
EOF |
906 |
make genmake_tc_1.o >> genmake_tc.log 2>&1 |
COMM="$CC $CFLAGS -c genmake_tc_1.c" |
907 |
|
echo $COMM >> genmake_warnings |
908 |
|
$COMM >> genmake_tc.log 2>&1 |
909 |
RET_C=$? |
RET_C=$? |
910 |
cat <<EOF > genmake_tc_2.$FS |
cat <<EOF > genmake_tc_2.$FS |
911 |
program hello |
program hello |
1045 |
INCLUDES="-I. $INCLUDES" |
INCLUDES="-I. $INCLUDES" |
1046 |
FFLAGS= |
FFLAGS= |
1047 |
FOPTIM= |
FOPTIM= |
1048 |
|
FEXTRAFLAGS= |
1049 |
CFLAGS= |
CFLAGS= |
1050 |
KFLAGS1= |
KFLAGS1= |
1051 |
KFLAGS2= |
KFLAGS2= |
1126 |
gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS" |
gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS" |
1127 |
|
|
1128 |
# The following state is not directly set by command-line switches |
# The following state is not directly set by command-line switches |
1129 |
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 FEXTRAFLAGS" |
1130 |
gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS" |
gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS" |
1131 |
gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOST THISUSER THISDATE THISVER MACHINE" |
gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOST THISUSER THISDATE THISVER MACHINE" |
1132 |
gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF" |
gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF" |
1153 |
|
|
1154 |
echo "=== Processing options files and arguments ===" |
echo "=== Processing options files and arguments ===" |
1155 |
gm_local="genmake_local" |
gm_local="genmake_local" |
|
for i in . $MODS ; do |
|
|
if test -r $i/$gm_local ; then |
|
|
. $i/$gm_local |
|
|
break |
|
|
fi |
|
|
done |
|
1156 |
printf " getting local config information: " |
printf " getting local config information: " |
1157 |
if test -f $gm_local ; then |
if test -f $gm_local ; then |
1158 |
echo "using $gm_local" |
echo "using $gm_local" |
1567 |
else |
else |
1568 |
DEFINES="$DEFINES -DTIME_PER_TIMESTEP" |
DEFINES="$DEFINES -DTIME_PER_TIMESTEP" |
1569 |
fi |
fi |
1570 |
|
PACKAGES="$PACKAGES showflops" |
1571 |
fi |
fi |
1572 |
if test ! "x$PAPIS" = x ; then |
if test ! "x$PAPIS" = x ; then |
1573 |
echo " Turning on PAPI flop summary per timestep" |
echo " Turning on PAPI flop summary per timestep" |
1579 |
fi |
fi |
1580 |
INCLUDES="$INCLUDES $PAPIINC" |
INCLUDES="$INCLUDES $PAPIINC" |
1581 |
LIBS="$LIBS $PAPILIB" |
LIBS="$LIBS $PAPILIB" |
1582 |
|
PACKAGES="$PACKAGES showflops" |
1583 |
fi |
fi |
1584 |
if test ! "x$PCLS" = x ; then |
if test ! "x$PCLS" = x ; then |
1585 |
echo " Turning on PCL counter summary per timestep" |
echo " Turning on PCL counter summary per timestep" |
1591 |
fi |
fi |
1592 |
INCLUDES="$INCLUDES $PCLINC" |
INCLUDES="$INCLUDES $PCLINC" |
1593 |
LIBS="$LIBS $PCLLIB" |
LIBS="$LIBS $PCLLIB" |
1594 |
|
PACKAGES="$PACKAGES showflops" |
1595 |
fi |
fi |
1596 |
if test ! "x$PAPI" = x ; then |
if test ! "x$PAPI" = x ; then |
1597 |
if test ! "x$PAPIS" = x ; then |
if test ! "x$PAPIS" = x ; then |
2361 |
echo "" >> srclinks.tmp |
echo "" >> srclinks.tmp |
2362 |
echo "# These files are linked from $d" >> srclinks.tmp |
echo "# These files are linked from $d" >> srclinks.tmp |
2363 |
echo "$deplist :" >> srclinks.tmp |
echo "$deplist :" >> srclinks.tmp |
2364 |
printf "\t\$(LN) %s/\$@ \$@\n" $d >> srclinks.tmp |
# We need to make sure that the link isn't already there. |
2365 |
|
# This may happen when make thinks that a header file has to be "remade" |
2366 |
|
# because a module it depends on has changed. In this case we do nothing. |
2367 |
|
printf "\tif [ ! -L \$@ ]; then \$(LN) %s/\$@ \$@; fi\n" $d >> srclinks.tmp |
2368 |
fi |
fi |
2369 |
done |
done |
2370 |
rm -rf .links.tmp |
rm -rf .links.tmp |
2467 |
KFLAGS1 = ${KFLAGS1} |
KFLAGS1 = ${KFLAGS1} |
2468 |
KFLAGS2 = ${KFLAGS2} |
KFLAGS2 = ${KFLAGS2} |
2469 |
# Optim./debug for FC |
# Optim./debug for FC |
2470 |
FFLAGS = ${FFLAGS} |
FFLAGS = ${FFLAGS} ${FEXTRAFLAGS} |
2471 |
FOPTIM = ${FOPTIM} |
FOPTIM = ${FOPTIM} |
2472 |
# Optim./debug for FC |
# Optim./debug for FC |
2473 |
F90FLAGS = ${F90FLAGS} |
F90FLAGS = ${F90FLAGS} |
2493 |
echo 'F77FILES = $(SRCFILES:.F=.'$FS')' >> $MAKEFILE |
echo 'F77FILES = $(SRCFILES:.F=.'$FS')' >> $MAKEFILE |
2494 |
echo 'F90FILES = $(F90SRCFILES:.F90=.'$FS90')' >> $MAKEFILE |
echo 'F90FILES = $(F90SRCFILES:.F90=.'$FS90')' >> $MAKEFILE |
2495 |
echo 'OBJFILES = $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE |
echo 'OBJFILES = $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE |
2496 |
|
echo 'FLOFILES = $(AD_FLOW_FILES:.flow=.flowdir)' >> $MAKEFILE |
2497 |
echo >> $MAKEFILE |
echo >> $MAKEFILE |
2498 |
echo '.SUFFIXES:' >> $MAKEFILE |
echo '.SUFFIXES:' >> $MAKEFILE |
2499 |
echo '.SUFFIXES: .o .'$FS' .p .F .c .'$FS90' .F90' >> $MAKEFILE |
echo '.SUFFIXES: .o .'$FS' .p .F .c .'$FS90' .F90 .flowdir .flow' >> $MAKEFILE |
2500 |
rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp f90srclist.inc |
rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp f90srclist.inc |
2501 |
rm -f ad_flow_files.inc |
rm -f ad_flow_files.inc |
2502 |
|
|
2529 |
clean: |
clean: |
2530 |
-rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template |
-rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template |
2531 |
-rm -rf *.o |
-rm -rf *.o |
2532 |
-rm -rf *.$FS |
-rm -rf *.$FS *.flowdir |
2533 |
Clean: |
Clean: |
2534 |
@make clean |
@make clean |
2535 |
@make cleanlinks |
@make cleanlinks |
2536 |
-rm -f \$(SPECIAL_FILES) |
-rm -f \$(SPECIAL_FILES) |
2537 |
-rm -f genmake_state genmake_*optfile genmake_warnings make.log run.log *.bak |
-rm -f genmake_state genmake_*optfile genmake_warnings make.log run.log f90mkdepend.log *.bak |
2538 |
|
-rm -f taf_command taf_output taf_ad.log taf_ad_flow.log |
2539 |
CLEAN: |
CLEAN: |
2540 |
@make Clean |
@make Clean |
2541 |
-find \$(EXEDIR) -name "*.meta" -exec rm {} \; |
-find \$(EXEDIR) -name "*.meta" -exec rm {} \; |
2542 |
-find \$(EXEDIR) -name "*.data" -exec rm {} \; |
-find \$(EXEDIR) -name "*.data" -exec rm {} \; |
2543 |
-find \$(EXEDIR) -name "fort.*" -exec rm {} \; |
-find \$(EXEDIR) -name "fort.*" -exec rm {} \; |
2544 |
-rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime |
-rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime |
2545 |
|
-rm -f *_MIT_CE_000.opt0000 costfunction*0000 |
2546 |
-rm -rf mnc_test_* |
-rm -rf mnc_test_* |
2547 |
|
|
2548 |
#eh3 Makefile: makefile |
#eh3 Makefile: makefile |
2601 |
\$(CPP) \$(DEFINES) \$(INCLUDES) > \$@ |
\$(CPP) \$(DEFINES) \$(INCLUDES) > \$@ |
2602 |
.$FS.o: |
.$FS.o: |
2603 |
\$(FC) \$(FFLAGS) \$(FOPTIM) -c \$< |
\$(FC) \$(FFLAGS) \$(FOPTIM) -c \$< |
2604 |
|
.F.o: |
2605 |
|
\$(FC) \$(FFLAGS) \$(FOPTIM) -c \$< |
2606 |
.F90.o: |
.F90.o: |
2607 |
\$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$< |
\$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$< |
2608 |
.c.o: |
.c.o: |
2609 |
\$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$< |
\$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$< |
2610 |
|
.flow.flowdir: |
2611 |
|
\$(CPP) \$(DEFINES) \$(INCLUDES) > \$@ |
2612 |
|
|
2613 |
# Special exceptions that use the ( .F - .p - .$FS - .o ) rule-chain |
# Special exceptions that use the ( .F - .p - .$FS - .o ) rule-chain |
2614 |
.F.p: |
.F.p: |
2661 |
cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h |
cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h |
2662 |
-rm -f ad_config.template |
-rm -f ad_config.template |
2663 |
@make \$(F77FILES) |
@make \$(F77FILES) |
2664 |
@make \$(AD_FLOW_FILES) |
@make \$(FLOFILES) |
2665 |
cat \$(AD_FLOW_FILES) \$(AD_FILES) > ad_input_code.$FS |
cat \$(FLOFILES) \$(AD_FILES) > ad_input_code.$FS |
2666 |
|
|
2667 |
ad_taf_output.$FS: ad_input_code.$FS |
ad_taf_output.$FS: ad_input_code.$FS |
2668 |
\$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |
\$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS |