File: Makefile

package info (click to toggle)
scalapack 1.7.4-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 34,004 kB
  • ctags: 30,444
  • sloc: fortran: 310,201; ansic: 64,027; makefile: 1,838; sh: 4
file content (106 lines) | stat: -rw-r--r-- 3,092 bytes parent folder | download | duplicates (8)
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
############################################################################
#
#  Program:         ScaLAPACK Redistrib
#
#  Module:          Makefile
#
#  Purpose:         Redistribution Sources Makefile
#
#  Creation date:   March 20, 1995
#
#  Modified:        February 15, 2000
#
#  Send bug reports, comments or suggestions to scalapack@cs.utk.edu
#
############################################################################

include ../../SLmake.inc

#######################################################################
#  This is the makefile to create a library for redistribution.
#  The files are organized as follows:
#       ALLAUX -- Auxiliary routines called from all precisions
#       IMRSRC -- Integer REDIST routines
#       SMRSRC -- Single precision real REDIST routines
#       CMRSRC -- Single precision complex REDIST routines
#       DMRSRC -- Double precision real REDIST routines
#       ZMRSRC -- Double precision complex REDIST routines
#
#  The library can be set up to include routines for any combination
#  of the four precisions.  First, modify the ARCH, ARCHFLAGS, RANLIB,
#  CC and CFLAGS definitions in ../../SLmake.inc to match your library
#  archiver, compiler and the options to be used.
#  Then 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 name of the library is defined by $(SCALAPACKLIB) in
#  ../../SLmake.inc and is created at the next higher 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
#
#######################################################################

ALLAUX = \
   pgemraux.o

IMRSRC = \
   pigemr.o pigemr2.o pitrmr.o pitrmr2.o 

SMRSRC = \
   psgemr.o psgemr2.o pstrmr.o pstrmr2.o 

CMRSRC = \
   pcgemr.o pcgemr2.o pctrmr.o pctrmr2.o 

DMRSRC = \
   pdgemr.o pdgemr2.o pdtrmr.o pdtrmr2.o 

ZMRSRC = \
   pzgemr.o pzgemr2.o pztrmr.o pztrmr2.o 

all: integer single complex double complex16
lib: all

integer: $(IMRSRC) $(ALLAUX)
	$(ARCH) $(ARCHFLAGS) $(SCALAPACKLIB) $(IMRSRC) $(ALLAUX)
	$(RANLIB) $(SCALAPACKLIB)

single: $(SMRSRC) $(ALLAUX)
	$(ARCH) $(ARCHFLAGS) $(SCALAPACKLIB) $(SMRSRC) $(ALLAUX)
	$(RANLIB) $(SCALAPACKLIB)

complex: $(CMRSRC) $(ALLAUX)
	$(ARCH) $(ARCHFLAGS) $(SCALAPACKLIB) $(CMRSRC) $(ALLAUX)
	$(RANLIB) $(SCALAPACKLIB)

double: $(DMRSRC) $(ALLAUX)
	$(ARCH) $(ARCHFLAGS) $(SCALAPACKLIB) $(DMRSRC) $(ALLAUX)
	$(RANLIB) $(SCALAPACKLIB)

complex16: $(ZMRSRC) $(ALLAUX)
	$(ARCH) $(ARCHFLAGS) $(SCALAPACKLIB) $(ZMRSRC) $(ALLAUX)
	$(RANLIB) $(SCALAPACKLIB)

$(ALLAUX): $(FRC)
$(IMRSRC): $(FRC)
$(SMRSRC): $(FRC)
$(CMRSRC): $(FRC)
$(DMRSRC): $(FRC)
$(ZMRSRC): $(FRC)

FRC:
	@FRC=$(FRC)

clean :
	rm -f *.o

.c.o : ; $(CC) -c $(CCFLAGS) $(CDEFS) $*.c