/[MITgcm]/MITgcm/doc/api_reference/configure
ViewVC logotype

Contents of /MITgcm/doc/api_reference/configure

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


Revision 1.3 - (show annotations) (download)
Sun Mar 28 19:28:34 2004 UTC (19 years, 11 months ago) by edhill
Branch: MAIN
Changes since 1.2: +28 -14 lines
 o add '*.tex' files to the list used to generate the API documentation
   - add examples of the above to generic_advdiff and mnc
 o temporarily remove eesupp from dir_list since the formatting of
    the comments in those files needs much work

1 #! /usr/bin/env sh
2 #
3 # $Header: /u/gcmpack/MITgcm/doc/api_reference/configure,v 1.2 2004/03/26 23:46:11 edhill Exp $
4 #
5 # A script to generate the Makefile for the API Reference
6
7 if ! test -r ./dir_list ; then
8 cat <<EOF
9 ERROR: cannot read the directory list -- please verify that this
10 script is run in MITGCM_ROOT/doc/api_reference and that the
11 "dir_list" file is readable.
12 EOF
13 exit 1
14 fi
15
16 cat ./dir_list | grep -v '^[ ]*#' | grep -v '^[ ]*$' > ./.dir_list_nocomments
17
18 name=$0
19 cat <<EOF > Makefile
20 #
21 # ================================================
22 #
23 # CREATED BY "$name" -- DO NOT EDIT !!!
24 #
25 # ================================================
26 #
27
28 .SUFFIXES:
29
30 all: all_protex
31
32 clean:
33 -rm -f *.tex *.aux *.dvi *.log *.toc *.out
34
35 EOF
36
37 rm -rf ./.targets
38 cat ./.dir_list_nocomments | while read line ; do
39
40 echo >> Makefile
41 base_target=`echo $line | awk '{print $1}' | sed -e 's|/|__|g'`
42 target=$base_target".tex"
43 echo "Finding files for \"$target\" in: $line"
44 tex_files=""
45 h_files=""
46 F_files=""
47 c_files=""
48 for i in $line ; do
49 tex_files="$tex_files"`ls -1 ../../$i/*.tex 2>/dev/null`
50 h_files="$h_files"`ls -1 ../../$i/*.h 2>/dev/null`
51 F_files="$F_files"`ls -1 ../../$i/*.F 2>/dev/null`
52 c_files="$c_files"`ls -1 ../../$i/*.c 2>/dev/null`
53 done
54
55 # *.tex
56 printf '%s' $base_target"_tex = " >> Makefile
57 for i in $tex_files ; do
58 printf '\\\n%s' " $i " >> Makefile
59 done
60 printf '\n' >> Makefile
61
62 # *.h
63 printf '%s' $base_target"_h = " >> Makefile
64 for i in $h_files ; do
65 printf '\\\n%s' " $i " >> Makefile
66 done
67 printf '\n' >> Makefile
68
69 # *.F
70 printf '%s' $base_target"_F = " >> Makefile
71 for i in $F_files ; do
72 printf '\\\n%s' " $i " >> Makefile
73 done
74 printf '\n' >> Makefile
75
76 # *.c
77 printf '%s' $base_target"_c = " >> Makefile
78 for i in $c_files ; do
79 printf '\\\n%s' " $i " >> Makefile
80 done
81 printf '\n' >> Makefile
82 d_tex="\$("$base_target"_tex)"
83 d_h="\$("$base_target"_h)"
84 d_F="\$("$base_target"_F)"
85 d_c="\$("$base_target"_c)"
86 cat <<EOF >> Makefile
87 $target: $d_tex $d_h $d_F $d_c
88 -rm -f $target
89 EOF
90 if test ! "x$tex_files" = x ; then
91 printf '\t%s\n' "-cat $d_tex >> $target" >> Makefile
92 fi
93 if test ! "x$h_files" = x ; then
94 printf '\t%s\n' "-./protex -b7 $d_h >> $target" >> Makefile
95 fi
96 if test ! "x$F_files" = x ; then
97 printf '\t%s\n' "-./protex -b7 $d_F >> $target" >> Makefile
98 fi
99 if test ! "x$c_files" = x ; then
100 printf '\t%s\n' "-./protex -bC $d_c >> $target" >> Makefile
101 fi
102
103 if test ! "x$target" = x ; then
104 printf '%s' " $target" >> ./.targets
105 fi
106 done
107
108 alltex=`cat ./.targets`
109 printf '\n%s' "ALLTEX = " >> Makefile
110 for i in $alltex ; do
111 printf '\\\n%s' " $i " >> Makefile
112 done
113 printf '\n\n' >> Makefile
114
115 cat <<EOF >> Makefile
116
117 makefile:
118 $0
119
120 api_main.tex: \$(ALLTEX)
121 -./build_main \$(ALLTEX)
122
123 api_main.dvi: api_main.tex
124 latex api_main
125 latex api_main
126 latex api_main
127 latex api_main
128
129 all_protex: api_main.dvi
130
131 EOF
132
133 rm -f ./.dir_list_nocomments
134 rm -f ./.targets

  ViewVC Help
Powered by ViewVC 1.1.22