Warning, /tools/f90mkdepend_taf is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit 5b531307 on 2025-02-26 01:55:18 UTC
5b53130725 Ivan*0001 #!/bin/bash
0002 #
0003 # Generate make file dependency entries for TAF generated AD files
0004 # passed as arguments after output dependency file
0005
0006 if [ $# -eq 0 ]; then
0007 echo "Usage: `basename $0` output_file list_of_TAF_generated_files"
0008 exit 1
0009 else
0010 dep_file=$1 ; shift
0011 fi
0012
0013 # don't complain if *.F90 doesn't match any files
0014 shopt -s nullglob
0015
0016 # init files
0017 #log_file="`basename $0`.log"
0018 log_file="f90mkdepend_taf.log"
0019
0020 cat /dev/null > $log_file
0021 cat /dev/null > $dep_file
0022
0023 # append module dependencies to Makefile
0024 adfiles=$*
0025 for filename in ${adfiles}; do
0026 # quick check for "use" to speed up processing
0027 if grep -iq '^ *use ' $filename; then
0028 # extract module name in lower case
0029 modreflist=$(grep -i '^ *use ' $filename | awk '{print tolower($2)}' | sed -e 's/,.*$//' -e 's/\r$//' | sort | uniq )
0030
0031 echo "$filename => $modreflist" >> $log_file
0032
0033 # determine AD suffix
0034 adsuff=$(echo ${filename%.*} | sed -e 's/.*_//')
0035 depline="$filename:"
0036 for m in $modreflist; do
0037 # I am sure that this can be shorter with only one grep command
0038 mm=$(grep -Hi "${m}$" ${adfiles} | grep -i module | grep -v end | awk -F: '{print $1}')
0039 if [ $mm == $filename ] ; then
0040 echo "INFO: f90mkdepend_taf: $filename contains module $m" 1>&2
0041 elif [[ ${#mm} > 0 ]] && [ -f ${mm} ] ; then
0042 depline="$depline ${mm%.*}.o"
0043 else
0044 echo "WARNING: f90mkdepend_taf: in $filename no source file found for module $m" 1>&2
0045 fi
0046 done
0047 echo $depline >> $dep_file
0048 fi
0049 done
0050 exit 0