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
|