/[MITgcm]/MITgcm/tools/f90mkdepend
ViewVC logotype

Diff of /MITgcm/tools/f90mkdepend

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

revision 1.2 by jahn, Thu May 8 19:45:38 2008 UTC revision 1.3 by jahn, Tue May 13 19:02:00 2008 UTC
# Line 1  Line 1 
1  #!/bin/csh -f  #!/bin/csh -f
2    # $Header$
3    # $Name$
4  #  #
5  # Generate some make file dependency entries for a Fortran 90 file that employs "use".  # Generate some make file dependency entries for a Fortran 90 file that employs "use".
6  # Note: We assume that the name of a module and the same of source are the same.  # Note: We assume that the name of a module and the same of source are the same.
7    #       The name of the source file should be all lower case (except for the extension).
8  #  #
9    cat /dev/null > f90mkdepend.log
10    
11  set flist =  ( `echo *.F90 *.F *.h` )  set flist =  ( `echo *.F90 *.F *.h` )
12  foreach filename ( $flist )  foreach filename ( $flist )
13  set dirlist  =  (  . )    set dirlist  =  (  . )
14    
15  # Try and find some use statements    # Try and find some use statements
16  set modreflist = `cat $filename | grep '[ *] use ' | awk '{print $2}' | sed s'/,//'`    cat $filename | grep -i '^ *use ' >> f90mkdepend.log
17      set modreflist = `cat $filename | grep -i '^ *use ' | awk '{print tolower($2)}' | sed s'/,.*$//'`
18    
19  set depfiles = ( )    if ("x$modreflist" != x) then
20  foreach m ( $modreflist )      echo "$filename => $modreflist" >> f90mkdepend.log
21   set depfile = ( )    endif
22   foreach d ( $dirlist )  
23     if ( -f $m.F90 || -f $m.F ) then    set depfiles = ( )
24      if ( $depfile == "" ) then    foreach m ( $modreflist )
25       set depfile = ( $m.o )      set depfile = ( )
26      endif      foreach d ( $dirlist )
27     endif        if ( -f $m.F90 || -f $m.F ) then
28   end         if ( $depfile == "" ) then
29   set depfiles = ( $depfiles $depfile )          set depfile = ( $m.o )
30  end         endif
31  set ext=`echo ${filename:e} | sed -e 's/F/f/'`        endif
32  echo ${filename:r}.${ext}: $depfiles      end
33        set depfiles = ( $depfiles $depfile )
34      end
35      set ext=`echo ${filename:e} | sed -e 's/F/f/'`
36      echo ${filename:r}.${ext}: $depfiles
37  end  end

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22