Mercurial > octave-nkf
comparison liboctave/UMFPACK/UMFPACK/Demo/Makefile @ 5164:57077d0ddc8e
[project @ 2005-02-25 19:55:24 by jwe]
author | jwe |
---|---|
date | Fri, 25 Feb 2005 19:55:28 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
5163:9f3299378193 | 5164:57077d0ddc8e |
---|---|
1 #------------------------------------------------------------------------------- | |
2 # compile the UMFPACK demos (for GNU make and original make) | |
3 #------------------------------------------------------------------------------- | |
4 | |
5 # UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis. | |
6 # All Rights Reserved. See ../Doc/License for License. | |
7 | |
8 all: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo \ | |
9 umfpack_simple | |
10 | |
11 include ../Make/Make.include | |
12 | |
13 C = $(CC) $(CFLAGS) $(CONFIG) -I../Include -I../../AMD/Include | |
14 | |
15 INC = ../Include/umfpack.h ../../AMD/Include/amd.h | |
16 | |
17 ../Lib/libumfpack.a: | |
18 ( cd ../Source ; make ) | |
19 | |
20 ../../AMD/Lib/libamd.a: | |
21 ( cd ../../AMD/Source ; make ) | |
22 | |
23 UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a | |
24 | |
25 #------------------------------------------------------------------------------- | |
26 # Create the demo programs, run them, and compare the output | |
27 #------------------------------------------------------------------------------- | |
28 | |
29 dist: umfpack_di_demo.c umfpack_dl_demo.c umfpack_zi_demo.c umfpack_zl_demo.c | |
30 | |
31 umfpack_simple: umfpack_simple.c $(INC) $(UMFPACK) | |
32 $(C) -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIB) | |
33 ./umfpack_simple | |
34 | |
35 # the GNU rules are simpler: | |
36 # umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed | |
37 # - sed -f umfpack_$*_demo.sed < umfpack_xx_demo.c > umfpack_$*_demo.c | |
38 # | |
39 # umfpack_%_demo: umfpack_%_demo.c $(INC) $(UMFPACK) | |
40 # $(C) -o umfpack_$*_demo umfpack_$*_demo.c $(UMFPACK) $(LIB) | |
41 # ./umfpack_$*_demo > my_umfpack_$*_demo.out | |
42 | |
43 # but do this via brute-force, so we can use just a single Makefile: | |
44 | |
45 # double-precision, int verion: | |
46 umfpack_di_demo.c: umfpack_xx_demo.c umfpack_di_demo.sed | |
47 - sed -f umfpack_di_demo.sed < umfpack_xx_demo.c > umfpack_di_demo.c | |
48 | |
49 umfpack_di_demo: umfpack_di_demo.c $(INC) $(UMFPACK) | |
50 $(C) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIB) | |
51 ./umfpack_di_demo > my_umfpack_di_demo.out | |
52 - diff umfpack_di_demo.out my_umfpack_di_demo.out | |
53 | |
54 # double-precision, long verion: | |
55 umfpack_dl_demo.c: umfpack_xx_demo.c umfpack_dl_demo.sed | |
56 - sed -f umfpack_dl_demo.sed < umfpack_xx_demo.c > umfpack_dl_demo.c | |
57 | |
58 umfpack_dl_demo: umfpack_dl_demo.c $(INC) $(UMFPACK) | |
59 $(C) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIB) | |
60 ./umfpack_dl_demo > my_umfpack_dl_demo.out | |
61 - diff umfpack_dl_demo.out my_umfpack_dl_demo.out | |
62 | |
63 # complex, int verion: | |
64 umfpack_zi_demo.c: umfpack_xx_demo.c umfpack_zi_demo.sed | |
65 - sed -f umfpack_zi_demo.sed < umfpack_xx_demo.c > umfpack_zi_demo.c | |
66 | |
67 umfpack_zi_demo: umfpack_zi_demo.c $(INC) $(UMFPACK) | |
68 $(C) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIB) | |
69 ./umfpack_zi_demo > my_umfpack_zi_demo.out | |
70 - diff umfpack_zi_demo.out my_umfpack_zi_demo.out | |
71 | |
72 # complex, long verion: | |
73 umfpack_zl_demo.c: umfpack_xx_demo.c umfpack_zl_demo.sed | |
74 - sed -f umfpack_zl_demo.sed < umfpack_xx_demo.c > umfpack_zl_demo.c | |
75 | |
76 umfpack_zl_demo: umfpack_zl_demo.c $(INC) $(UMFPACK) | |
77 $(C) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIB) | |
78 ./umfpack_zl_demo > my_umfpack_zl_demo.out | |
79 - diff umfpack_zl_demo.out my_umfpack_zl_demo.out | |
80 | |
81 #------------------------------------------------------------------------------- | |
82 # create a demo program that reads in Harwell/Boeing matrices, and run it | |
83 #------------------------------------------------------------------------------- | |
84 | |
85 # the output of "make hb" is in the file umf4.out | |
86 hb: $(UMFPACK) umf4 readhb readhb_nozeros readhb_size | |
87 - ./readhb_nozeros < HB/can_24.psa > tmp/A | |
88 - ./readhb_size < HB/can_24.psa > tmp/Asize | |
89 - ./umf4 | |
90 - ./readhb_nozeros < HB/west0067.rua > tmp/A | |
91 - ./readhb_size < HB/west0067.rua > tmp/Asize | |
92 - ./umf4 | |
93 - ./readhb_nozeros < HB/fs_183_6.rua > tmp/A | |
94 - ./readhb_size < HB/fs_183_6.rua > tmp/Asize | |
95 - ./umf4 | |
96 - ./readhb < HB/fs_183_6.rua > tmp/A | |
97 - ./readhb_size < HB/fs_183_6.rua > tmp/Asize | |
98 - ./umf4 | |
99 - ./readhb < HB/arc130.rua > tmp/A | |
100 - ./readhb_size < HB/arc130.rua > tmp/Asize | |
101 - ./umf4 | |
102 - ./readhb_nozeros < HB/arc130.rua > tmp/A | |
103 - ./readhb_size < HB/arc130.rua > tmp/Asize | |
104 - ./umf4 | |
105 - ./readhb_nozeros < HB/arc130.rua > tmp/A | |
106 - ./readhb_size < HB/arc130.rua > tmp/Asize | |
107 - ./umf4 a 1e-6 | |
108 | |
109 umf4: umf4.c $(UMFPACK) | |
110 $(C) -o umf4 umf4.c $(UMFPACK) $(LIB) | |
111 | |
112 readhb: readhb.f | |
113 $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB) | |
114 | |
115 readhb_size: readhb_size.f | |
116 $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB) | |
117 | |
118 readhb_nozeros: readhb_nozeros.f | |
119 $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB) | |
120 | |
121 #------------------------------------------------------------------------------- | |
122 # compile the FORTRAN interface and demo | |
123 #------------------------------------------------------------------------------- | |
124 | |
125 fortran: $(UMFPACK) umf4hb.f umf4_f77wrapper.o umf4zhb.f umf4_f77zwrapper.o $(UMFPACK) | |
126 $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \ | |
127 $(UMFPACK) $(LIB) | |
128 - ./umf4hb < HB/west0067.rua > my_umf4hb.out | |
129 - diff my_umf4hb.out umf4hb.out | |
130 $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \ | |
131 $(UMFPACK) $(LIB) | |
132 - ./umf4zhb < HB/qc324.cua > my_umf4zhb.out | |
133 - diff my_umf4zhb.out umf4zhb.out | |
134 | |
135 fortran64: $(UMFPACK) umf4hb64.f umf4_f77wrapper64.o umf4_f77zwrapper64.o $(UMFPACK) | |
136 $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \ | |
137 $(UMFPACK) $(LIB) | |
138 - ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out | |
139 - diff my_umf4hb64.out umf4hb64.out | |
140 | |
141 umf4_f77wrapper.o: umf4_f77wrapper.c $(INC) | |
142 $(C) -c umf4_f77wrapper.c -o umf4_f77wrapper.o | |
143 | |
144 umf4_f77zwrapper.o: umf4_f77zwrapper.c $(INC) | |
145 $(C) -c umf4_f77zwrapper.c -o umf4_f77zwrapper.o | |
146 | |
147 umf4_f77wrapper64.o: umf4_f77wrapper.c $(INC) | |
148 $(C) -DDLONG -c umf4_f77wrapper.c -o umf4_f77wrapper64.o | |
149 | |
150 umf4_f77zwrapper64.o: umf4_f77zwrapper.c $(INC) | |
151 $(C) -DDLONG -c umf4_f77zwrapper.c -o umf4_f77zwrapper64.o | |
152 | |
153 #------------------------------------------------------------------------------- | |
154 # Remove all but the files in the original distribution | |
155 #------------------------------------------------------------------------------- | |
156 | |
157 purge: clean | |
158 - $(RM) umfpack_simple a.out | |
159 - $(RM) umfpack_di_demo my_umfpack_di_demo.out | |
160 - $(RM) umfpack_dl_demo my_umfpack_dl_demo.out | |
161 - $(RM) umfpack_zi_demo my_umfpack_zi_demo.out | |
162 - $(RM) umfpack_zl_demo my_umfpack_zl_demo.out | |
163 - $(RM) umf4hb umf4zhb *.umf my_umf4hb.out | |
164 - $(RM) umf4hb64 my_umf4hb64.out my_umf4zhb.out | |
165 - $(RM) umf4 readhb readhb_nozeros readhb_size tmp/* |