summaryrefslogtreecommitdiff
path: root/TESTING/MATGEN/Makefile
blob: 49bc645f3af037426b1c20b79fe56901170a6cca (plain)
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
include ../../make.inc

#######################################################################
#  This is the makefile to create a library of the test matrix
#  generators used in LAPACK.  The files are organized as follows:
#
#     SCATGEN  -- Auxiliary routines called from both REAL and COMPLEX
#     DZATGEN  -- Auxiliary routines called from both DOUBLE PRECISION
#                 and COMPLEX*16
#     SMATGEN  -- Single precision real matrix generation routines
#     CMATGEN  -- Single precision complex matrix generation routines
#     DMATGEN  -- Double precision real matrix generation routines
#     ZMATGEN  -- Double precision complex matrix generation routines
#
#  The library can be set up to include routines for any combination
#  of the four precisions.  To create or add to the library, enter make
#  followed by one or more of the precisions desired.  Some examples:
#       make single
#       make single complex
#       make single double complex complex16
#  Alternatively, the command
#       make
#  without any arguments creates a library of all four precisions.
#  The library is called
#       tmglib.a
#  and is created at the LAPACK directory level.
#
#  To remove the object files after the library is created, enter
#       make clean
#  On some systems, you can force the source files to be recompiled by
#  entering (for example)
#       make single FRC=FRC
#
#######################################################################

SCATGEN = slatm1.o slaran.o slarnd.o

SMATGEN = slatms.o slatme.o slatmr.o slatmt.o \
   slagge.o slagsy.o slakf2.o slarge.o slaror.o slarot.o slatm2.o \
   slatm3.o slatm5.o slatm6.o slatm7.o slahilb.o

CMATGEN = clatms.o clatme.o clatmr.o clatmt.o \
   clagge.o claghe.o clagsy.o clakf2.o clarge.o claror.o clarot.o \
   clatm1.o clarnd.o clatm2.o clatm3.o clatm5.o clatm6.o clahilb.o

DZATGEN = dlatm1.o dlaran.o dlarnd.o

DMATGEN = dlatms.o dlatme.o dlatmr.o dlatmt.o \
   dlagge.o dlagsy.o dlakf2.o dlarge.o dlaror.o dlarot.o dlatm2.o \
   dlatm3.o dlatm5.o dlatm6.o dlatm7.o dlahilb.o

ZMATGEN = zlatms.o zlatme.o zlatmr.o zlatmt.o \
   zlagge.o zlaghe.o zlagsy.o zlakf2.o zlarge.o zlaror.o zlarot.o \
   zlatm1.o zlarnd.o zlatm2.o zlatm3.o zlatm5.o zlatm6.o zlahilb.o

all:	../../$(TMGLIB)

ALLOBJ = $(SMATGEN) $(CMATGEN) $(SCATGEN) $(DMATGEN) $(ZMATGEN)	\
	$(DZATGEN)

../../$(TMGLIB): $(ALLOBJ)
	$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)
	$(RANLIB) $@

single: $(SMATGEN) $(SCATGEN)
	$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(SMATGEN) $(SCATGEN)
	$(RANLIB) ../../$(TMGLIB)

complex: $(CMATGEN) $(SCATGEN)
	$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(CMATGEN) $(SCATGEN)
	$(RANLIB) ../../$(TMGLIB)

double: $(DMATGEN) $(DZATGEN)
	$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(DMATGEN) $(DZATGEN)
	$(RANLIB) ../../$(TMGLIB)

complex16: $(ZMATGEN) $(DZATGEN)
	$(ARCH) $(ARCHFLAGS) ../../$(TMGLIB) $(ZMATGEN) $(DZATGEN)
	$(RANLIB) ../../$(TMGLIB)

$(SCATGEN): $(FRC)
$(SMATGEN): $(FRC)
$(CMATGEN): $(FRC)
$(DZATGEN): $(FRC)
$(DMATGEN): $(FRC)
$(ZMATGEN): $(FRC)

FRC:
	@FRC=$(FRC)

clean:
	rm -f *.o

.f.o:
	$(FORTRAN) $(OPTS) -c $< -o $@

slaran.o: slaran.f ; $(FORTRAN) $(NOOPT) -c $<
dlaran.o: dlaran.f ; $(FORTRAN) $(NOOPT) -c $<