File: Makefile

package info (click to toggle)
superlu 3.0%2B20070106-3
  • links: PTS, VCS
  • area: main
  • in suites: lenny, squeeze, wheezy
  • size: 5,416 kB
  • ctags: 1,942
  • sloc: ansic: 51,552; makefile: 397; csh: 141; fortran: 54; sh: 14
file content (109 lines) | stat: -rw-r--r-- 3,082 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
include ../make.inc

#######################################################################
#  This makefile creates the test programs for the linear equation
#  routines in SuperLU.  The test files are grouped as follows:
#
#       ALINTST -- Auxiliary test routines
#       SLINTST -- Single precision real test routines
#       DLINTST -- Double precision real test routines
#       CLINTST -- Double precision complex test routines
#       ZLINTST -- Double precision complex test routines
#
#  Test programs can be generated for all or some of the four different
#  precisions.  Enter make followed by one or more of the data types
#  desired.  Some examples:
#       make single
#       make single double
#  Alternatively, the command
#       make
#  without any arguments creates all four test programs.
#  The executable files are called
#       stest
#       dtest
#       ctest
#       ztest
#
#  To remove the object files after the executable files have been
#  created, enter
#       make clean
#  On some systems, you can force the source files to be recompiled by
#  entering (for example)
#       make single FRC=FRC
#
#######################################################################

HEADER  = ../SRC

ALINTST = sp_ienv.o

SLINTST = sdrive.o sp_sconvert.o \
          sp_sget01.o sp_sget02.o sp_sget04.o sp_sget07.o 

DLINTST = ddrive.o sp_dconvert.o \
          sp_dget01.o sp_dget02.o sp_dget04.o sp_dget07.o 

CLINTST = cdrive.o sp_cconvert.o \
	  sp_cget01.o sp_cget02.o sp_cget04.o sp_cget07.o

ZLINTST = zdrive.o sp_zconvert.o \
	  sp_zget01.o sp_zget02.o sp_zget04.o sp_zget07.o

all: testmat single double complex complex16

testmat:
	(cd MATGEN; $(MAKE))

single: ./stest stest.out

./stest: $(SLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
	$(LOADER) $(LOADOPTS) $(SLINTST) $(ALINTST) \
        $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@

stest.out: stest stest.csh
	@echo Testing SINGLE PRECISION linear equation routines 
	csh stest.csh

double: ./dtest dtest.out

./dtest: $(DLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
	$(LOADER) $(LOADOPTS) $(DLINTST) $(ALINTST) \
        $(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@

dtest.out: dtest dtest.csh
	@echo Testing DOUBLE PRECISION linear equation routines 
	csh dtest.csh

complex: ./ctest ctest.out

./ctest: $(CLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
	$(LOADER) $(LOADOPTS) $(CLINTST) $(ALINTST) \
	$(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@

ctest.out: ctest ctest.csh
	@echo Testing SINGLE COMPLEX linear equation routines 
	csh ctest.csh

complex16: ./ztest ztest.out

./ztest: $(ZLINTST) $(ALINTST) $(SUPERLULIB) $(TMGLIB)
	$(LOADER) $(LOADOPTS) $(ZLINTST) $(ALINTST) \
	$(TMGLIB) $(SUPERLULIB) $(BLASLIB) -lm -o $@

ztest.out: ztest ztest.csh
	@echo Testing DOUBLE COMPLEX linear equation routines 
	csh ztest.csh

##################################
# Do not optimize this routine   #
##################################
dlamch.o: dlamch.c ; $(CC) -c $<

timer.o:  timer.c ; $(CC) -O -c $<

.c.o:
	$(CC) $(CFLAGS) $(CDEFS) -I$(HEADER) -c $< $(VERBOSE)

clean:	
	rm -f *.o *test *.out