|
a/Makefile |
|
b/Makefile |
|
... |
|
... |
21 |
|
21 |
|
22 |
#................................................................................
|
22 |
#................................................................................
|
23 |
|
23 |
|
24 |
# use one of the experimental dgemm versions with OpenMP
|
24 |
# use one of the experimental dgemm versions with OpenMP
|
25 |
# ******************************************************
|
25 |
# ******************************************************
|
26 |
IfOpenMP = NO
|
|
|
27 |
# IfOpenMP = NO
|
26 |
# IfOpenMP = NO
|
|
|
27 |
IfOpenMP = YES
|
28 |
|
28 |
|
29 |
# Which BLAS version (Modula-2 subset or Fortran) shall libraries
|
29 |
# Which BLAS version (Modula-2 subset or Fortran) shall libraries
|
30 |
# such as EigenLib, SVDlib etc. use ?
|
30 |
# such as EigenLib, SVDLib2 etc. use ?
|
31 |
# ***************************************************************
|
31 |
# ***************************************************************
|
32 |
#
|
32 |
#
|
33 |
BLASLIB = BLAS
|
33 |
BLASLIB = BLAS
|
34 |
# BLASLIB = BLASF77
|
34 |
# BLASLIB = BLASF77
|
35 |
|
35 |
|
36 |
# How shall LinPack (Modula-2 subset) be compiled ?
|
36 |
# How shall LinPack (Modula-2 subset) be compiled ?
|
37 |
# *************************************************
|
37 |
# *************************************************
|
38 |
#
|
38 |
#
|
39 |
# LinPack also has "inline" option
|
39 |
# LinPack and SVDLib1 also have "inline" option
|
40 |
BLASLIBin = BLAS
|
40 |
BLASLIBin = BLAS
|
41 |
# BLASLIBin = BLASF77
|
41 |
# BLASLIBin = BLASF77
|
42 |
# BLASLIBin = inline
|
42 |
# BLASLIBin = inline
|
43 |
|
43 |
|
44 |
# Where to find the m2pp Modula-2 preprocessor ?
|
44 |
# Where to find the m2pp Modula-2 preprocessor ?
|
|
... |
|
... |
95 |
|
95 |
|
96 |
OBJ = BaseLib.o ApproxLib.o LibDBlas.o LibDBlasM2.o \
|
96 |
OBJ = BaseLib.o ApproxLib.o LibDBlas.o LibDBlasM2.o \
|
97 |
LibDBlasF77.o LibDBlasL3F77.o F77func.o Differ.o DynMat.o \
|
97 |
LibDBlasF77.o LibDBlasL3F77.o F77func.o Differ.o DynMat.o \
|
98 |
LinPack.o EigenLib1.o \
|
98 |
LinPack.o EigenLib1.o \
|
99 |
EigenLibAux.o EigenLib2.o EigenLib3.o Fourier.o SortLib.o \
|
99 |
EigenLibAux.o EigenLib2.o EigenLib3.o Fourier.o SortLib.o \
|
100 |
Integral.o LinLib.o SVDLib2.o SVDLib3.o LMathLib.o LngCmplxMath.o \
|
100 |
Integral.o LinLib.o SVDLib1.o SVDLib2.o SVDLib3.o LMathLib.o \
|
101 |
CmplxMath.o MatLib.o PMatLib.o RandomLib.o \
|
101 |
LngCmplxMath.o CmplxMath.o MatLib.o PMatLib.o RandomLib.o \
|
102 |
SpezFunkt1.o SpezFunkt2.o SpezFunkt3.o SpezFunkt4.o \
|
102 |
SpezFunkt1.o SpezFunkt2.o SpezFunkt3.o SpezFunkt4.o \
|
103 |
OptimLib1.o StatLib.o NumAlLib1.o SMatEA.o FMatEA.o IEEE.o
|
103 |
OptimLib1.o StatLib.o NumAlLib1.o SMatEA.o FMatEA.o IEEE.o
|
104 |
|
104 |
|
105 |
ifeq ($(IfOpenMP),YES)
|
105 |
ifeq ($(IfOpenMP),YES)
|
106 |
#*********************
|
106 |
#*********************
|
107 |
OBJFTN = dgemmCbind.o # Fortran objects
|
107 |
OBJFTN = dgemmCbind.o # Fortran objects
|
|
|
108 |
OMP = OPENMP
|
108 |
else
|
109 |
else
|
109 |
#***
|
110 |
#***
|
110 |
OBJFTN =
|
111 |
#
|
|
|
112 |
# Das ist Unsinn ...
|
|
|
113 |
#
|
|
|
114 |
OBJFTN = dgemmCbind.o
|
|
|
115 |
OMP = NOOPENMP
|
111 |
endif
|
116 |
endif
|
112 |
#****
|
117 |
#****
|
113 |
|
118 |
|
114 |
ifeq ($(COMPILER),GM2)
|
119 |
ifeq ($(COMPILER),GM2)
|
115 |
#*********************
|
120 |
#*********************
|
|
... |
|
... |
117 |
BaseLib.def ApproxLib.def \
|
122 |
BaseLib.def ApproxLib.def \
|
118 |
LibDBlas.def LibDBlasM2.def LibDBlasF77.def LibDBlasL1F77.def \
|
123 |
LibDBlas.def LibDBlasM2.def LibDBlasF77.def LibDBlasL1F77.def \
|
119 |
LibDBlasLxF77.def LibDBlasL3F77.def LinPack.def F77func.def \
|
124 |
LibDBlasLxF77.def LibDBlasL3F77.def LinPack.def F77func.def \
|
120 |
Differ.def DynMat.def EigenLibAux.def EigenLib1.def \
|
125 |
Differ.def DynMat.def EigenLibAux.def EigenLib1.def \
|
121 |
EigenLib2.def EigenLib3.def Fourier.def SortLib.def \
|
126 |
EigenLib2.def EigenLib3.def Fourier.def SortLib.def \
|
122 |
Integral.def LinLib.def SVDLib2.def SVDLib3.def IEEE.def LMathLib.def \
|
127 |
Integral.def LinLib.def SVDLib1.def SVDLib2.def SVDLib3.def \
|
|
|
128 |
IEEE.def LMathLib.def \
|
123 |
LngCmplxMath.def CmplxMath.def MatLib.def PMatLib.def \
|
129 |
LngCmplxMath.def CmplxMath.def MatLib.def PMatLib.def \
|
124 |
RandomLib.def FMatEA.def SMatEA.def SpezFunkt1.def \
|
130 |
RandomLib.def FMatEA.def SMatEA.def SpezFunkt1.def \
|
125 |
SpezFunkt2.def SpezFunkt3.def SpezFunkt4.def \
|
131 |
SpezFunkt2.def SpezFunkt3.def SpezFunkt4.def \
|
126 |
OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
132 |
OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
127 |
$(M2L) mkall.mod
|
133 |
$(M2L) mkall.mod
|
|
... |
|
... |
131 |
BaseLib.def ApproxLib.def \
|
137 |
BaseLib.def ApproxLib.def \
|
132 |
LibDBlas.def LibDBlasM2.def LibDBlasF77.def LibDBlasL1F77.def \
|
138 |
LibDBlas.def LibDBlasM2.def LibDBlasF77.def LibDBlasL1F77.def \
|
133 |
LibDBlasLxF77.def LibDBlasL3F77.def LinPack.def F77func.def \
|
139 |
LibDBlasLxF77.def LibDBlasL3F77.def LinPack.def F77func.def \
|
134 |
Differ.def DynMat.def EigenLibAux.def EigenLib1.def \
|
140 |
Differ.def DynMat.def EigenLibAux.def EigenLib1.def \
|
135 |
EigenLib2.def EigenLib3.def Fourier.def SortLib.def \
|
141 |
EigenLib2.def EigenLib3.def Fourier.def SortLib.def \
|
136 |
Integral.def LinLib.def SVDLib2.def SVDLib3.def IEEE.def LMathLib.def \
|
142 |
Integral.def LinLib.def SVDLib1.def SVDLib2.def SVDLib3.def \
|
|
|
143 |
IEEE.def LMathLib.def \
|
137 |
LngCmplxMath.def CmplxMath.def MatLib.def PMatLib.def \
|
144 |
LngCmplxMath.def CmplxMath.def MatLib.def PMatLib.def \
|
138 |
RandomLib.def FMatEA.def SMatEA.def SpezFunkt1.def \
|
145 |
RandomLib.def FMatEA.def SMatEA.def SpezFunkt1.def \
|
139 |
SpezFunkt2.def SpezFunkt3.def SpezFunkt4.def \
|
146 |
SpezFunkt2.def SpezFunkt3.def SpezFunkt4.def \
|
140 |
OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
147 |
OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
141 |
$(M2L) mkall
|
148 |
$(M2L) mkall
|
|
... |
|
... |
145 |
mkall.o: mkall.mod BaseLib.def ApproxLib.def LibDBlas.def \
|
152 |
mkall.o: mkall.mod BaseLib.def ApproxLib.def LibDBlas.def \
|
146 |
LibDBlasM2.def LibDBlasF77.def LibDBlasL1F77.def \
|
153 |
LibDBlasM2.def LibDBlasF77.def LibDBlasL1F77.def \
|
147 |
LibDBlasLxF77.def LibDBlasL3F77.def LinPack.def F77func.def \
|
154 |
LibDBlasLxF77.def LibDBlasL3F77.def LinPack.def F77func.def \
|
148 |
Differ.def DynMat.def EigenLibAux.def EigenLib1.def \
|
155 |
Differ.def DynMat.def EigenLibAux.def EigenLib1.def \
|
149 |
EigenLib2.def EigenLib3.def Fourier.def SortLib.def \
|
156 |
EigenLib2.def EigenLib3.def Fourier.def SortLib.def \
|
150 |
Integral.def LinLib.def SVDLib2.def SVDLib3.def IEEE.def LMathLib.def \
|
157 |
Integral.def LinLib.def SVDLib1.def SVDLib2.def SVDLib3.def \
|
|
|
158 |
IEEE.def LMathLib.def \
|
151 |
LngCmplxMath.def CmplxMath.def MatLib.def PMatLib.def \
|
159 |
LngCmplxMath.def CmplxMath.def MatLib.def PMatLib.def \
|
152 |
RandomLib.def FMatEA.def SMatEA.def SpezFunkt1.def \
|
160 |
RandomLib.def FMatEA.def SMatEA.def SpezFunkt1.def \
|
153 |
SpezFunkt2.def SpezFunkt3.def SpezFunkt4.def \
|
161 |
SpezFunkt2.def SpezFunkt3.def SpezFunkt4.def \
|
154 |
OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
162 |
OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
155 |
$(M2C) mkall.mod
|
163 |
$(M2C) mkall.mod
|
|
... |
|
... |
157 |
mkall.mod: BaseLib.def ApproxLib.def LibDBlas.def LibDBlasM2.def \
|
165 |
mkall.mod: BaseLib.def ApproxLib.def LibDBlas.def LibDBlasM2.def \
|
158 |
LibDBlasF77.def LibDBlasL1F77.def LibDBlasLxF77.def \
|
166 |
LibDBlasF77.def LibDBlasL1F77.def LibDBlasLxF77.def \
|
159 |
LibDBlasL3F77.def LinPack.def F77func.def Differ.def \
|
167 |
LibDBlasL3F77.def LinPack.def F77func.def Differ.def \
|
160 |
DynMat.def EigenLibAux.def EigenLib1.def EigenLib2.def \
|
168 |
DynMat.def EigenLibAux.def EigenLib1.def EigenLib2.def \
|
161 |
EigenLib3.def Fourier.def SortLib.def Integral.def LinLib.def \
|
169 |
EigenLib3.def Fourier.def SortLib.def Integral.def LinLib.def \
|
162 |
SVDLib2.def SVDLib3.def IEEE.def LMathLib.def LngCmplxMath.def \
|
170 |
SVDLib1.def SVDLib2.def SVDLib3.def IEEE.def LMathLib.def \
|
163 |
CmplxMath.def \
|
171 |
LngCmplxMath.def CmplxMath.def \
|
164 |
MatLib.def PMatLib.def RandomLib.def FMatEA.def SMatEA.def \
|
172 |
MatLib.def PMatLib.def RandomLib.def FMatEA.def SMatEA.def \
|
165 |
SpezFunkt1.def SpezFunkt2.def SpezFunkt3.def \
|
173 |
SpezFunkt1.def SpezFunkt2.def SpezFunkt3.def \
|
166 |
SpezFunkt4.def OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
174 |
SpezFunkt4.def OptimLib1.def StatLib.def NumAlLib1.def OpenMPF77.def
|
167 |
|
175 |
|
168 |
|
176 |
|
|
... |
|
... |
289 |
LinLib.o: LinLib.def LinLib.mod
|
297 |
LinLib.o: LinLib.def LinLib.mod
|
290 |
$(M2C) LinLib.mod
|
298 |
$(M2C) LinLib.mod
|
291 |
|
299 |
|
292 |
LinLib.mod: LinLib.def
|
300 |
LinLib.mod: LinLib.def
|
293 |
|
301 |
|
|
|
302 |
SVDLib1.o: SVDLib1.def SVDLib1.mod
|
|
|
303 |
$(M2C) SVDLib1.mod
|
|
|
304 |
|
|
|
305 |
SVDLib1.mod: SVDLib1.def
|
|
|
306 |
|
294 |
SVDLib2.o: SVDLib2.def SVDLib2.mod
|
307 |
SVDLib2.o: SVDLib2.def SVDLib2.mod
|
295 |
$(M2C) SVDLib2.mod
|
308 |
$(M2C) SVDLib2.mod
|
296 |
|
309 |
|
297 |
SVDLib2.mod: SVDLib2.def
|
310 |
SVDLib2.mod: SVDLib2.def
|
298 |
|
311 |
|
|
... |
|
... |
410 |
|
423 |
|
411 |
LibDBlasLxF77.def : LibDBlasLxF77.def.m2pp
|
424 |
LibDBlasLxF77.def : LibDBlasLxF77.def.m2pp
|
412 |
$(M2PP) -D __$(COMPILER)__ < LibDBlasLxF77.def.m2pp > LibDBlasLxF77.def
|
425 |
$(M2PP) -D __$(COMPILER)__ < LibDBlasLxF77.def.m2pp > LibDBlasLxF77.def
|
413 |
|
426 |
|
414 |
LibDBlasF77.def : LibDBlasF77.def.m2pp
|
427 |
LibDBlasF77.def : LibDBlasF77.def.m2pp
|
415 |
$(M2PP) -D __$(COMPILER)__ -D __OMP__ < LibDBlasF77.def.m2pp > LibDBlasF77.def
|
428 |
$(M2PP) -D __$(COMPILER)__ -D __$(OMP)__ < LibDBlasF77.def.m2pp > LibDBlasF77.def
|
|
|
429 |
|
|
|
430 |
SVDLib1.mod : SVDLib1.mod.m2pp
|
|
|
431 |
$(M2PP) -D __$(BLASLIBin)__ < SVDLib1.mod.m2pp > SVDLib1.mod
|
|
|
432 |
|
|
|
433 |
SVDLib2.mod : SVDLib2.mod.m2pp
|
|
|
434 |
$(M2PP) -D __$(BLASLIB)__ < SVDLib2.mod.m2pp > SVDLib2.mod
|
416 |
|
435 |
|
417 |
LinPack.mod : LinPack.mod.m2pp
|
436 |
LinPack.mod : LinPack.mod.m2pp
|
418 |
$(M2PP) -D __$(BLASLIBin)__ < LinPack.mod.m2pp > LinPack.mod
|
437 |
$(M2PP) -D __$(BLASLIBin)__ < LinPack.mod.m2pp > LinPack.mod
|
419 |
|
438 |
|
420 |
SMatEA.mod : SMatEA.mod.m2pp
|
439 |
SMatEA.mod : SMatEA.mod.m2pp
|
421 |
$(M2PP) -D __$(IOSYS)__ < SMatEA.mod.m2pp > SMatEA.mod
|
440 |
$(M2PP) -D __$(IOSYS)__ < SMatEA.mod.m2pp > SMatEA.mod
|
422 |
|
441 |
|
423 |
#..............................................................................
|
442 |
#..............................................................................
|
424 |
|
443 |
|
425 |
ifeq ($(IfOpenMP),YES)
|
444 |
# ifeq ($(IfOpenMP),YES)
|
426 |
|
445 |
|
427 |
F90 = gfortran
|
446 |
F90 = gfortran
|
428 |
FOPTS = -c -fopenmp -O3
|
447 |
FOPTS = -c -fopenmp -O3
|
429 |
|
448 |
|
430 |
dgemmCbind.o : dgemmCbind.f90
|
449 |
dgemmCbind.o : dgemmCbind.f90
|
431 |
$(F90) $(FOPTS) -cpp -D __CBIND__ dgemmCbind.f90
|
450 |
$(F90) $(FOPTS) -cpp -D __CBIND__ dgemmCbind.f90
|
432 |
|
451 |
|
433 |
endif
|
452 |
# endif
|
434 |
|
453 |
|
435 |
#..............................................................................
|
454 |
#..............................................................................
|
436 |
|
455 |
|
437 |
$(NUMLIB) : $(OBJ) $(OBJFTN)
|
456 |
$(NUMLIB) : $(OBJ) $(OBJFTN)
|
438 |
ar -r $(NUMLIB) $(OBJ) $(OBJFTN)
|
457 |
ar -r $(NUMLIB) $(OBJ) $(OBJFTN)
|
|
... |
|
... |
442 |
|
461 |
|
443 |
clean: force
|
462 |
clean: force
|
444 |
$(RM) mkall.o BaseLib.o ApproxLib.o LibDBlas.o LibDBlasM2.o \
|
463 |
$(RM) mkall.o BaseLib.o ApproxLib.o LibDBlas.o LibDBlasM2.o \
|
445 |
LibDBlasF77.o LibDBlasL3F77.o F77func.o Differ.o DynMat.o \
|
464 |
LibDBlasF77.o LibDBlasL3F77.o F77func.o Differ.o DynMat.o \
|
446 |
EigenLibAux.o EigenLib2.o EigenLib3.o Fourier.o SortLib.o \
|
465 |
EigenLibAux.o EigenLib2.o EigenLib3.o Fourier.o SortLib.o \
|
447 |
Integral.o LinLib.o SVDLib2.o SVDLib3.o LMathLib.o LngCmplxMath.o \
|
466 |
Integral.o LinLib.o SVDLib1.o SVDLib2.o SVDLib3.o \
|
|
|
467 |
LMathLib.o LngCmplxMath.o \
|
448 |
CmplxMath.o MatLib.o PMatLib.o RandomLib.o FMatEA.o \
|
468 |
CmplxMath.o MatLib.o PMatLib.o RandomLib.o FMatEA.o \
|
449 |
SpezFunkt1.o SpezFunkt2.o SpezFunkt2b.o SpezFunkt3.o SpezFunkt4.o \
|
469 |
SpezFunkt1.o SpezFunkt2.o SpezFunkt2b.o SpezFunkt3.o SpezFunkt4.o \
|
450 |
OptimLib1.o StatLib.o NumAlLib1.o dgemmCbind.o \
|
470 |
OptimLib1.o StatLib.o NumAlLib1.o dgemmCbind.o \
|
451 |
LibDBlasF77.def LibDBlasL1F77.def LibDBlasLxF77.def OpenMPF77.def \
|
471 |
LibDBlasF77.def LibDBlasL1F77.def LibDBlasLxF77.def OpenMPF77.def \
|
452 |
EigenLib1.mod Integral.mod LinPack.mod MatLib.mod \
|
472 |
EigenLib1.mod Integral.mod LinPack.mod MatLib.mod \
|
453 |
RandomLib.mod SMatEA.mod SpezFunkt2.mod StatLib.mod
|
473 |
RandomLib.mod SMatEA.mod SpezFunkt2.mod StatLib.mod \
|
|
|
474 |
SVDLib1.mod SVDLib2.mod
|
454 |
|
475 |
|
455 |
force:
|
476 |
force:
|
456 |
|
477 |
|