]> git.llucax.com Git - z.facultad/75.12/tp2.git/blob - Makefile
Se expanden keywords del svn.
[z.facultad/75.12/tp2.git] / Makefile
1 # Trabajo Práctico II de Análisis Numérico I
2 # Este programa resuelve un sistema de ecuaciones diferenciales
3 # resultante de un problema físico de oscilación de líquidos.
4 # Copyright (C) 2002 Leandro Lucarella
5
6 # Este programa es Software Libre; usted puede redistribuirlo
7 # y/o modificarlo bajo los términos de la "GNU General Public
8 # License" como lo publica la "FSF Free Software Foundation",
9 # o (a su elección) de cualquier versión posterior.
10
11 # Este programa es distribuido con la esperanza de que le será
12 # útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
13 # implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
14 # particular. Vea la "GNU General Public License" para más
15 # detalles.
16
17 # Usted debe haber recibido una copia de la "GNU General Public
18 # License" junto con este programa, si no, escriba a la "FSF
19 # Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
20 # Boston, MA  02111-1307, USA.
21
22 # $URL$
23 # $Date$
24 # $Rev$
25 # $Author$
26
27
28 #### VARIABLES ####
29 CPP_OPTS=-O3 -Wall
30 CPP_OPTS_DBG=-g3 -Wall
31 LIBS=-lm
32
33
34 #### GENERAL ####
35 all: tp informe
36 tp: c d e f
37 clean: clean-c clean-d clean-e clean-f clean-informe clean-77891
38
39
40 #### PROGRAMA ####
41 77891: 77891.cpp
42         c++ $(CPP_OPTS) $(LIBS) -o 77891 77891.cpp
43 77891dbg: 77891.cpp
44         c++ $(CPP_OPTS_DBG) $(LIBS) -o 77891dbg 77891.cpp
45 clean-77891:
46         rm -f *.o 77891 77891dbg
47
48
49 #### PUNTO C ####
50 c: c1 c2 c3
51 clean-c: clean-c1 clean-c2 clean-c3
52 # C.1
53 c1e_k0.44.txt: 77891
54         ./77891 e n 2 440 1000 > c1e_k0.44.txt
55 c1e_k0.0044.txt: 77891
56         ./77891 e n 2 440 100000 > c1e_k0.0044.txt
57 c1e.eps: c1e_k0.44.txt c1e_k0.0044.txt c1e.gnuplot
58         ./c1e.gnuplot
59 c1r.txt: 77891
60         ./77891 r n 2 440 1000 > c1r.txt
61 c1r.eps: c1r.txt c1r.gnuplot
62         ./c1r.gnuplot
63 c1n.txt: 77891
64         ./77891 n n 2 440 1000 > c1n.txt
65 c1n.eps: c1n.txt c1n.gnuplot
66         ./c1n.gnuplot
67 c1: c1e.eps c1r.eps c1n.eps
68 clean-c1:
69         rm -f c1*.txt c1*.eps
70 # C.2
71 c2e.txt: 77891 calcula_periodo
72         ./77891 e n 2 5000 100000 | ./calcula_periodo /dev/stdin > c2e.txt
73 c2r.txt: 77891 calcula_periodo
74         ./77891 r n 2 5000 100000 | ./calcula_periodo /dev/stdin > c2r.txt
75 c2n.txt: 77891 calcula_periodo
76         ./77891 n n 2 5000 100000 | ./calcula_periodo /dev/stdin > c2n.txt
77 c2.eps: c2e.txt c2r.txt c2n.txt periodo.gnuplot
78         sed "s/<P>/c/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/sin/g" | \
79         sed "s/<PUNTO_FRIC>/sin/g" | sed "s/<PUNTO_FRIC_TIPO>//g" | \
80         gnuplot
81 c2: c2.eps
82 clean-c2:
83         rm -f c2*.txt c2.eps
84 # C.3
85 c3c.eps: c3c.gnuplot
86         ./c3c.gnuplot
87 c3o.eps: c3o.gnuplot
88         ./c3o.gnuplot
89 c3: c3c.eps c3o.eps
90 clean-c3:
91         rm -f c3*.eps
92
93
94 #### PUNTO D ####
95 d: d1 d2 d3 d4
96 clean-d: clean-d1 clean-d2 clean-d3 clean-d4
97 # D.1
98 d1e.txt: 77891
99         ./77891 e l 2 2500 1000000 > d1e.txt
100 d1e.eps: d1e.txt d1e.gnuplot
101         ./d1e.gnuplot
102 d1r.txt: 77891
103         ./77891 r l 2 2500 1000 > d1r.txt
104 d1r.eps: d1r.txt d1r.gnuplot
105         ./d1r.gnuplot
106 d1n_k2.0.txt: 77891
107         ./77891 n l 2 2500 1250 > d1n_k2.0.txt
108 d1n_k0.0625.txt: 77891
109         ./77891 n l 2 2500 40000 > d1n_k0.0625.txt
110 d1n.eps: d1n_k2.0.txt d1n_k0.0625.txt d1n.gnuplot
111         ./d1n.gnuplot
112 d1: d1e.eps d1r.eps d1n.eps
113 clean-d1:
114         rm -f d1*.txt d1*.eps
115 # D.2
116 d2e.txt: 77891 calcula_periodo
117         ./77891 e l 2 5000 100000 | ./calcula_periodo /dev/stdin > d2e.txt
118 d2r.txt: 77891 calcula_periodo
119         ./77891 r l 2 5000 100000 | ./calcula_periodo /dev/stdin > d2r.txt
120 d2n.txt: 77891 calcula_periodo
121         ./77891 n l 2 5000 100000 | ./calcula_periodo /dev/stdin > d2n.txt
122 d2.eps: d2e.txt d2r.txt d2n.txt periodo.gnuplot
123         sed "s/<P>/d/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/sin/g" | \
124         sed "s/<PUNTO_FRIC>/con/g" | sed "s/<PUNTO_FRIC_TIPO>/ laminar/g" | \
125         gnuplot
126 d2: d2.eps
127 clean-d2:
128         rm -f d2*.txt d2.eps
129 # D.3
130 d3e.txt: 77891
131         ./77891 e l 2 405 100000 > d3e.txt
132 d3e.max.txt: d3e.txt calcula_maxmin
133         ./calcula_maxmin max d3e.txt > d3e.max.txt
134 d3e.min.txt: d3e.txt calcula_maxmin
135         ./calcula_maxmin min d3e.txt > d3e.min.txt
136 d3r.txt: 77891
137         ./77891 r l 2 405 1000 > d3r.txt
138 d3r.max.txt: d3r.txt calcula_maxmin
139         ./calcula_maxmin max d3r.txt > d3r.max.txt
140 d3r.min.txt: d3r.txt calcula_maxmin
141         ./calcula_maxmin min d3r.txt > d3r.min.txt
142 d3n.txt: 77891
143         ./77891 n l 2 405 190 > d3n.txt
144 d3n.max.txt: d3n.txt calcula_maxmin
145         ./calcula_maxmin max d3n.txt > d3n.max.txt
146 d3n.min.txt: d3n.txt calcula_maxmin
147         ./calcula_maxmin min d3n.txt > d3n.min.txt
148 d3: d3e.max.txt d3e.min.txt d3r.max.txt d3r.min.txt d3n.max.txt d3n.min.txt
149 clean-d3:
150         rm -f d3*.txt
151 # D.4
152 d4e.eps: d3e.max.txt d3e.min.txt d4e.gnuplot
153         ./d4e.gnuplot
154 d4r.eps: d3r.max.txt d3r.min.txt d4r.gnuplot
155         ./d4r.gnuplot
156 d4n.eps: d3n.max.txt d3n.min.txt d4n.gnuplot
157         ./d4n.gnuplot
158 d4: d4e.eps d4r.eps d4n.eps
159 clean-d4:
160         rm -f d4*.eps fit.log
161
162
163 #### PUNTO E ####
164 e: e1 e2 e3 e4
165 clean-e: clean-e1 clean-e2 clean-e3 clean-e4
166 # E.1
167 e1e.txt: 77891
168         ./77891 e t 2 1250 100000 > e1e.txt
169 e1e.eps: e1e.txt e1e.gnuplot
170         ./e1e.gnuplot
171 e1r.txt: 77891
172         ./77891 r t 2 1250 400 > e1r.txt
173 e1r.eps: e1r.txt e1r.gnuplot
174         ./e1r.gnuplot
175 e1n.txt: 77891
176         ./77891 n t 2 1250 625 > e1n.txt
177 e1n.eps: e1n.txt e1n.gnuplot
178         ./e1n.gnuplot
179 e1: e1e.eps e1r.eps e1n.eps
180 clean-e1:
181         rm -f e1*.txt e1*.eps
182 # E.2
183 e2e.txt: 77891 calcula_periodo
184         ./77891 e t 2 5000 100000 | ./calcula_periodo /dev/stdin > e2e.txt
185 e2r.txt: 77891 calcula_periodo
186         ./77891 r t 2 5000 100000 | ./calcula_periodo /dev/stdin > e2r.txt
187 e2n.txt: 77891 calcula_periodo
188         ./77891 n t 2 5000 100000 | ./calcula_periodo /dev/stdin > e2n.txt
189 e2.eps: e2e.txt e2r.txt e2n.txt periodo.gnuplot
190         sed "s/<P>/e/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/sin/g" | \
191         sed "s/<PUNTO_FRIC>/con/g" | sed "s/<PUNTO_FRIC_TIPO>/ turbulenta/g" | \
192         gnuplot
193 e2: e2.eps
194 clean-e2:
195         rm -f e2*.txt e2.eps
196 # E.3
197 e3e.txt: 77891
198         ./77891 e t 2 405 100000 > e3e.txt
199 e3e.max.txt: e3e.txt calcula_maxmin
200         ./calcula_maxmin max e3e.txt > e3e.max.txt
201 e3e.min.txt: e3e.txt calcula_maxmin
202         ./calcula_maxmin min e3e.txt > e3e.min.txt
203 e3r.txt: 77891
204         ./77891 r t 2 405 1000 > e3r.txt
205 e3r.max.txt: e3r.txt calcula_maxmin
206         ./calcula_maxmin max e3r.txt > e3r.max.txt
207 e3r.min.txt: e3r.txt calcula_maxmin
208         ./calcula_maxmin min e3r.txt > e3r.min.txt
209 e3n.txt: 77891
210         ./77891 n t 2 405 190 > e3n.txt
211 e3n.max.txt: e3n.txt calcula_maxmin
212         ./calcula_maxmin max e3n.txt > e3n.max.txt
213 e3n.min.txt: e3n.txt calcula_maxmin
214         ./calcula_maxmin min e3n.txt > e3n.min.txt
215 e3: e3e.max.txt e3e.min.txt e3r.max.txt e3r.min.txt e3n.max.txt e3n.min.txt
216 clean-e3:
217         rm -f e3*.txt
218 # E.4
219 e4r.txt: 77891
220         ./77891 r t 2 50000 100000 > e4r.txt
221 e4r.max.txt: e4r.txt calcula_maxmin
222         ./calcula_maxmin max e4r.txt > e4r.max.txt
223 e4r.min.txt: e4r.txt calcula_maxmin
224         ./calcula_maxmin min e4r.txt > e4r.min.txt
225 e4r.eps: e4r.max.txt e4r.min.txt e4r.gnuplot
226         ./e4r.gnuplot
227 e4n.txt: 77891
228         ./77891 n t 2 50000 25000 > e4n.txt
229 e4n.max.txt: e4n.txt calcula_maxmin
230         ./calcula_maxmin max e4n.txt > e4n.max.txt
231 e4n.min.txt: e4n.txt calcula_maxmin
232         ./calcula_maxmin min e4n.txt > e4n.min.txt
233 e4n.eps: e4n.max.txt e4n.min.txt e4n.gnuplot
234         ./e4n.gnuplot
235 e4: e4r.eps e4n.eps
236 clean-e4:
237         rm -f e4*.txt e4*.eps
238
239
240 #### PUNTO F ####
241 f: f1 f2 f3 f4
242 clean-f: clean-f1 clean-f2 clean-f3 clean-f4
243 # E.1
244 f1e.txt: 77891
245         ./77891 e d 0.03 5000 100000 > f1e.txt
246 f1e.eps: f1e.txt f1e.gnuplot
247         ./f1e.gnuplot
248 f1r.txt: 77891
249         ./77891 r d 0.03 5000 1000 > f1r.txt
250 f1r.eps: f1r.txt f1r.gnuplot
251         ./f1r.gnuplot
252 f1n.txt: 77891
253         ./77891 n d 0.03 5000 2500 > f1n.txt
254 f1n.eps: f1n.txt f1n.gnuplot
255         ./f1n.gnuplot
256 f1: f1e.eps f1r.eps f1n.eps
257 clean-f1:
258         rm -f f1*.txt f1*.eps
259 # E.2
260 f2e.txt: 77891 calcula_periodo
261         ./77891 e d 0.03 40000 100000 | ./calcula_periodo /dev/stdin > f2e.txt
262 f2r.txt: 77891 calcula_periodo
263         ./77891 r d 0.03 40000 100000 | ./calcula_periodo /dev/stdin > f2r.txt
264 f2n.txt: 77891 calcula_periodo
265         ./77891 n d 0.03 40000 100000 | ./calcula_periodo /dev/stdin > f2n.txt
266 f2.eps: f2e.txt f2r.txt f2n.txt periodo.gnuplot
267         sed "s/<P>/f/g" periodo.gnuplot | sed "s/<PUNTO_DEP>/con/g" | \
268         sed "s/<PUNTO_FRIC>/con/g" | sed "s/<PUNTO_FRIC_TIPO>/ turbulenta/g" | \
269         gnuplot
270 f2: f2.eps
271 clean-f2:
272         rm -f f2*.txt f2.eps
273 # E.3
274 f3e.txt: 77891
275         ./77891 e d 0.03 3400 340000 > f3e.txt
276 f3e.max.txt: f3e.txt calcula_maxmin
277         ./calcula_maxmin max f3e.txt > f3e.max.txt
278 f3e.min.txt: f3e.txt calcula_maxmin
279         ./calcula_maxmin min f3e.txt > f3e.min.txt
280 f3r.txt: 77891
281         ./77891 r d 0.03 3400 3400 > f3r.txt
282 f3r.max.txt: f3r.txt calcula_maxmin
283         ./calcula_maxmin max f3r.txt > f3r.max.txt
284 f3r.min.txt: f3r.txt calcula_maxmin
285         ./calcula_maxmin min f3r.txt > f3r.min.txt
286 f3n.txt: 77891
287         ./77891 n d 0.03 3400 1700 > f3n.txt
288 f3n.max.txt: f3n.txt calcula_maxmin
289         ./calcula_maxmin max f3n.txt > f3n.max.txt
290 f3n.min.txt: f3n.txt calcula_maxmin
291         ./calcula_maxmin min f3n.txt > f3n.min.txt
292 f3: f3e.max.txt f3e.min.txt f3r.max.txt f3r.min.txt f3n.max.txt f3n.min.txt
293 clean-f3:
294         rm -f f3*.txt
295 # E.4
296 f4r.txt: 77891
297         ./77891 r d 0.03 350000 100000 > f4r.txt
298 f4r.max.txt: f4r.txt calcula_maxmin
299         ./calcula_maxmin max f4r.txt > f4r.max.txt
300 f4r.min.txt: f4r.txt calcula_maxmin
301         ./calcula_maxmin min f4r.txt > f4r.min.txt
302 f4r.eps: f4r.max.txt f4r.min.txt f4r.gnuplot
303         ./f4r.gnuplot
304 f4n.txt: 77891
305         ./77891 n d 0.03 350000 175000 > f4n.txt
306 f4n.max.txt: f4n.txt calcula_maxmin
307         ./calcula_maxmin max f4n.txt > f4n.max.txt
308 f4n.min.txt: f4n.txt calcula_maxmin
309         ./calcula_maxmin min f4n.txt > f4n.min.txt
310 f4n.eps: f4n.max.txt f4n.min.txt f4n.gnuplot
311         ./f4n.gnuplot
312 f4: f4r.eps f4n.eps
313 clean-f4:
314         rm -f f4*.txt f4*.eps
315
316
317 #### Informe ####
318 informe.ps: informe.lyx c1 c2 c3 d1 d2 d4 e1 e2 e4 f1 f2 f4
319         lyx -e ps informe.lyx
320
321 informe.pdf: informe.lyx c1 c2 c3 d1 d2 d4 e1 e2 e4 f1 f2 f4
322         lyx -e pdf informe.lyx
323
324 informe.tex: informe.lyx c1 c2 c3 d1 d2 d4 e1 e2 e4 f1 f2 f4
325         lyx -e latex informe.lyx
326 informe: informe.ps informe.pdf informe.tex
327 clean-informe:
328         rm -f informe.ps informe.tex informe.pdf