5164
|
1 #------------------------------------------------------------------------------- |
|
2 # AMD Makefile for compiling on Unix systems (for GNU make only) |
|
3 #------------------------------------------------------------------------------- |
|
4 |
|
5 all: ../Lib/libamd.a |
|
6 |
|
7 include ../Make/Make.include |
|
8 |
|
9 C = $(CC) $(CFLAGS) $(CONFIG) -I../Include |
|
10 |
|
11 #------------------------------------------------------------------------------- |
|
12 # source files |
|
13 #------------------------------------------------------------------------------- |
|
14 |
|
15 AMD = amd_aat amd_1 amd_2 amd_dump amd_postorder amd_post_tree amd_defaults \ |
|
16 amd_order amd_control amd_info amd_valid amd_preprocess |
|
17 |
|
18 INC = ../Include/amd.h amd_internal.h |
|
19 |
|
20 #------------------------------------------------------------------------------- |
|
21 # object files for each version |
|
22 #------------------------------------------------------------------------------- |
|
23 |
|
24 AMDI = $(addsuffix .o, $(subst amd_,amd_i_,$(AMD))) |
|
25 AMDL = $(addsuffix .o, $(subst amd_,amd_l_,$(AMD))) |
|
26 |
|
27 #------------------------------------------------------------------------------- |
|
28 # compile each int and long routine (with no real/complex version) |
|
29 #------------------------------------------------------------------------------- |
|
30 |
|
31 amd_i_%.o: amd_%.c $(INC) |
|
32 $(C) -DDINT -c $< -o $@ |
|
33 |
|
34 amd_l_%.o: amd_%.c $(INC) |
|
35 $(C) -DDLONG -c $< -o $@ |
|
36 |
|
37 #------------------------------------------------------------------------------- |
|
38 # Create the libamd.a library (C versions only) |
|
39 #------------------------------------------------------------------------------- |
|
40 |
|
41 ../Lib/libamd.a: $(AMDI) $(AMDL) |
|
42 $(AR) cr ../Lib/libamd.a $^ |
|
43 - $(RANLIB) ../Lib/libamd.a |
|
44 |
|
45 #------------------------------------------------------------------------------- |
|
46 # compile the Fortran versions and the libamdf77.a library |
|
47 #------------------------------------------------------------------------------- |
|
48 |
|
49 fortran: ../Lib/libamdf77.a |
|
50 |
|
51 AMDF77 = amd.o amdbar.o |
|
52 |
|
53 amd.o: amd.f |
|
54 $(F77) $(F77FLAGS) -c amd.f -o amd.o |
|
55 |
|
56 amdbar.o: amdbar.f |
|
57 $(F77) $(F77FLAGS) -c amdbar.f -o amdbar.o |
|
58 |
|
59 ../Lib/libamdf77.a: $(AMDF77) |
|
60 $(AR) cr ../Lib/libamdf77.a $^ |
|
61 - $(RANLIB) ../Lib/libamdf77.a |
|
62 |
|
63 #------------------------------------------------------------------------------- |
|
64 # Remove all but the files in the original distribution |
|
65 #------------------------------------------------------------------------------- |
|
66 |
|
67 purge: clean |
|
68 - $(RM) ../Lib/libamd.a ../Lib/libamdf77.a |