Switch to unified view

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