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/*