1
#-------------------------------------------------------------------------------
2
# AMD Makefile for compiling on Unix systems (for GNU make only)
3
#-------------------------------------------------------------------------------
5
default: ../Lib/libamd.a
7
include ../../UFconfig/UFconfig.mk
9
C = $(CC) $(CFLAGS) $(CONFIG) -I../Include -I../../UFconfig
11
#-------------------------------------------------------------------------------
13
#-------------------------------------------------------------------------------
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
18
UFCONFIG = ../../UFconfig/UFconfig.h
20
INC = ../Include/amd.h ../Include/amd_internal.h $(UFCONFIG)
22
#-------------------------------------------------------------------------------
23
# object files for each version
24
#-------------------------------------------------------------------------------
26
AMDI = $(addsuffix .o, $(subst amd_,amd_i_,$(AMD)))
27
AMDL = $(addsuffix .o, $(subst amd_,amd_l_,$(AMD)))
29
#-------------------------------------------------------------------------------
30
# compile each int and long routine (with no real/complex version)
31
#-------------------------------------------------------------------------------
33
amd_global.o: amd_global.c $(INC)
36
amd_i_%.o: amd_%.c $(INC)
37
$(C) -DDINT -c $< -o $@
39
amd_l_%.o: amd_%.c $(INC)
40
$(C) -DDLONG -c $< -o $@
42
#-------------------------------------------------------------------------------
43
# Create the libamd.a library (C versions only)
44
#-------------------------------------------------------------------------------
46
../Lib/libamd.a: amd_global.o $(AMDI) $(AMDL)
47
$(AR) ../Lib/libamd.a $^
48
- $(RANLIB) ../Lib/libamd.a
50
#-------------------------------------------------------------------------------
51
# compile the Fortran versions and the libamdf77.a library
52
#-------------------------------------------------------------------------------
54
fortran: ../Lib/libamdf77.a
56
AMDF77 = amd.o amdbar.o
59
$(F77) $(F77FLAGS) -c amd.f -o amd.o
62
$(F77) $(F77FLAGS) -c amdbar.f -o amdbar.o
64
../Lib/libamdf77.a: $(AMDF77)
65
$(AR) ../Lib/libamdf77.a $^
66
- $(RANLIB) ../Lib/libamdf77.a
68
#-------------------------------------------------------------------------------
69
# Remove all but the files in the original distribution
70
#-------------------------------------------------------------------------------
78
- $(RM) ../Lib/libamd.a
79
- $(RM) ../Lib/libamdf77.a