/[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.7 - (show annotations) (download)
Fri Apr 2 05:13:33 2004 UTC (19 years, 11 months ago) by edhill
Branch: MAIN
Changes since 1.6: +5 -1 lines
 o add verbosity option
 o minor cleanups

1 #! /usr/bin/env sh
2 #
3 # $Header: /u/gcmpack/MITgcm/doc/api_reference/configure,v 1.6 2004/04/01 05:34:41 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 EOF
33
34 rm -rf ./.targets ./.all_clean
35 cat ./.dir_list_nocomments | while read line ; do
36
37 echo >> Makefile
38 base_target=`echo $line | awk '{print $1}' | sed -e 's|/|__|g'`
39 target=$base_target".tex"
40 printf " $target" >> ./.all_clean
41 echo "Finding files for \"$target\" in: $line"
42 tex_files=""
43 h_files=""
44 F_files=""
45 c_files=""
46 for i in $line ; do
47 tex_files="$tex_files"`ls -1 ../../$i/*.tex 2>/dev/null`
48 h_files="$h_files"`ls -1 ../../$i/*.h 2>/dev/null`
49 F_files="$F_files"`ls -1 ../../$i/*.F 2>/dev/null`
50 c_files="$c_files"`ls -1 ../../$i/*.c 2>/dev/null`
51 done
52
53 # *.tex
54 printf '%s' $base_target"_tex = " >> Makefile
55 for i in $tex_files ; do
56 printf '\\\n%s' " $i " >> Makefile
57 done
58 printf '\n' >> Makefile
59
60 # *.h
61 printf '%s' $base_target"_h = " >> Makefile
62 for i in $h_files ; do
63 printf '\\\n%s' " $i " >> Makefile
64 done
65 printf '\n' >> Makefile
66
67 # *.F
68 printf '%s' $base_target"_F = " >> Makefile
69 for i in $F_files ; do
70 printf '\\\n%s' " $i " >> Makefile
71 done
72 printf '\n' >> Makefile
73
74 # *.c
75 printf '%s' $base_target"_c = " >> Makefile
76 for i in $c_files ; do
77 printf '\\\n%s' " $i " >> Makefile
78 done
79 printf '\n' >> Makefile
80 d_tex="\$("$base_target"_tex)"
81 d_h="\$("$base_target"_h)"
82 d_F="\$("$base_target"_F)"
83 d_c="\$("$base_target"_c)"
84 cat <<EOF >> Makefile
85 $target: $d_tex $d_h $d_F $d_c
86 -rm -f $target
87 EOF
88 if test ! "x$tex_files" = x ; then
89 printf '\t%s\n' "-cat $d_tex >> $target" >> Makefile
90 fi
91 if test ! "x$h_files" = x ; then
92 printf '\t%s\n' "-./protex -b7f $d_h >> $target" >> Makefile
93 fi
94 if test ! "x$F_files" = x ; then
95 printf '\t%s\n' "-./protex -b7f $d_F >> $target" >> Makefile
96 fi
97 if test ! "x$c_files" = x ; then
98 printf '\t%s\n' "-./protex -bCf $d_c >> $target" >> Makefile
99 fi
100
101 if test ! "x$target" = x ; then
102 printf '%s' " $target" >> ./.targets
103 fi
104 done
105
106 alltex=`cat ./.targets`
107 printf '\n%s' "ALLTEX = " >> Makefile
108 for i in $alltex ; do
109 printf '\\\n%s' " $i " >> Makefile
110 done
111 printf '\n\n' >> Makefile
112
113 cat <<EOF >> Makefile
114
115 makefile:
116 $0
117
118 api_main.tex: introduction.tex \$(ALLTEX)
119 -./build_main \$(ALLTEX)
120
121 api_main.dvi: api_main.tex
122 latex api_main
123 latex api_main
124 latex api_main
125 latex api_main
126
127 api_main.ps: api_main.dvi
128 dvips -Pcmz -Pamz -o api_main.ps api_main.dvi
129
130 PDFOPTS = -dMaxSubsetPct=100 -dCompatibilityLevel=1.2 -dSubsetFonts=true -dEmbedAllFonts=true
131 api_main.pdf: api_main.ps
132 ps2pdf \$(PDFOPTS) api_main.ps api_main.pdf
133
134 all_protex: api_main.pdf
135
136 distclean:
137 @make clean
138 -rm -f Makefile
139
140 clean:
141 -rm -f *.aux *.dvi *.log *.toc *.out
142 -rm -f api_main.*
143 EOF
144
145 printf "\t-rm -f " >> Makefile
146 cat ./.all_clean >> Makefile
147
148 rm -f ./.dir_list_nocomments
149 rm -f ./.targets
150 rm -f ./.all_clean

  ViewVC Help
Powered by ViewVC 1.1.22