root / src / blas / Makefile @ 1
Historique | Voir | Annoter | Télécharger (5,63 ko)
| 1 | 1 | equemene | include make.inc |
|---|---|---|---|
| 2 | 1 | equemene | |
| 3 | 1 | equemene | ####################################################################### |
| 4 | 1 | equemene | # This is the makefile to create a library for the BLAS. |
| 5 | 1 | equemene | # The files are grouped as follows: |
| 6 | 1 | equemene | # |
| 7 | 1 | equemene | # SBLAS1 -- Single precision real BLAS routines |
| 8 | 1 | equemene | # CBLAS1 -- Single precision complex BLAS routines |
| 9 | 1 | equemene | # DBLAS1 -- Double precision real BLAS routines |
| 10 | 1 | equemene | # ZBLAS1 -- Double precision complex BLAS routines |
| 11 | 1 | equemene | # |
| 12 | 1 | equemene | # CB1AUX -- Real BLAS routines called by complex routines |
| 13 | 1 | equemene | # ZB1AUX -- D.P. real BLAS routines called by d.p. complex |
| 14 | 1 | equemene | # routines |
| 15 | 1 | equemene | # |
| 16 | 1 | equemene | # ALLBLAS -- Auxiliary routines for Level 2 and 3 BLAS |
| 17 | 1 | equemene | # |
| 18 | 1 | equemene | # SBLAS2 -- Single precision real BLAS2 routines |
| 19 | 1 | equemene | # CBLAS2 -- Single precision complex BLAS2 routines |
| 20 | 1 | equemene | # DBLAS2 -- Double precision real BLAS2 routines |
| 21 | 1 | equemene | # ZBLAS2 -- Double precision complex BLAS2 routines |
| 22 | 1 | equemene | # |
| 23 | 1 | equemene | # SBLAS3 -- Single precision real BLAS3 routines |
| 24 | 1 | equemene | # CBLAS3 -- Single precision complex BLAS3 routines |
| 25 | 1 | equemene | # DBLAS3 -- Double precision real BLAS3 routines |
| 26 | 1 | equemene | # ZBLAS3 -- Double precision complex BLAS3 routines |
| 27 | 1 | equemene | # |
| 28 | 1 | equemene | # The library can be set up to include routines for any combination |
| 29 | 1 | equemene | # of the four precisions. To create or add to the library, enter make |
| 30 | 1 | equemene | # followed by one or more of the precisions desired. Some examples: |
| 31 | 1 | equemene | # make single |
| 32 | 1 | equemene | # make single complex |
| 33 | 1 | equemene | # make single double complex complex16 |
| 34 | 1 | equemene | # Note that these commands are not safe for parallel builds. |
| 35 | 1 | equemene | # |
| 36 | 1 | equemene | # Alternatively, the commands |
| 37 | 1 | equemene | # make all |
| 38 | 1 | equemene | # or |
| 39 | 1 | equemene | # make |
| 40 | 1 | equemene | # without any arguments creates a library of all four precisions. |
| 41 | 1 | equemene | # The name of the library is held in BLASLIB, which is set in the |
| 42 | 1 | equemene | # make.inc |
| 43 | 1 | equemene | # |
| 44 | 1 | equemene | # To remove the object files after the library is created, enter |
| 45 | 1 | equemene | # make clean |
| 46 | 1 | equemene | # To force the source files to be recompiled, enter, for example, |
| 47 | 1 | equemene | # make single FRC=FRC |
| 48 | 1 | equemene | # |
| 49 | 1 | equemene | #--------------------------------------------------------------------- |
| 50 | 1 | equemene | # |
| 51 | 1 | equemene | # Edward Anderson, University of Tennessee |
| 52 | 1 | equemene | # March 26, 1990 |
| 53 | 1 | equemene | # Susan Ostrouchov, September 30, 1994 |
| 54 | 1 | equemene | # Julie Langou, March 2007 |
| 55 | 1 | equemene | # |
| 56 | 1 | equemene | ####################################################################### |
| 57 | 1 | equemene | |
| 58 | 1 | equemene | all: $(BLASLIB) |
| 59 | 1 | equemene | |
| 60 | 1 | equemene | #--------------------------------------------------------- |
| 61 | 1 | equemene | # Comment out the next 6 definitions if you already have |
| 62 | 1 | equemene | # the Level 1 BLAS. |
| 63 | 1 | equemene | #--------------------------------------------------------- |
| 64 | 1 | equemene | SBLAS1 = isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o \ |
| 65 | 1 | equemene | srot.o srotg.o sscal.o sswap.o sdsdot.o srotmg.o srotm.o |
| 66 | 1 | equemene | $(SBLAS1): $(FRC) |
| 67 | 1 | equemene | |
| 68 | 1 | equemene | CBLAS1 = scabs1.o scasum.o scnrm2.o icamax.o caxpy.o ccopy.o \ |
| 69 | 1 | equemene | cdotc.o cdotu.o csscal.o crotg.o cscal.o cswap.o csrot.o |
| 70 | 1 | equemene | $(CBLAS1): $(FRC) |
| 71 | 1 | equemene | |
| 72 | 1 | equemene | DBLAS1 = idamax.o dasum.o daxpy.o dcopy.o ddot.o dnrm2.o \ |
| 73 | 1 | equemene | drot.o drotg.o dscal.o dsdot.o dswap.o drotmg.o drotm.o |
| 74 | 1 | equemene | $(DBLAS1): $(FRC) |
| 75 | 1 | equemene | |
| 76 | 1 | equemene | ZBLAS1 = dcabs1.o dzasum.o dznrm2.o izamax.o zaxpy.o zcopy.o \ |
| 77 | 1 | equemene | zdotc.o zdotu.o zdscal.o zrotg.o zscal.o zswap.o zdrot.o |
| 78 | 1 | equemene | $(ZBLAS1): $(FRC) |
| 79 | 1 | equemene | |
| 80 | 1 | equemene | CB1AUX = isamax.o sasum.o saxpy.o scopy.o snrm2.o sscal.o |
| 81 | 1 | equemene | $(CB1AUX): $(FRC) |
| 82 | 1 | equemene | |
| 83 | 1 | equemene | ZB1AUX = idamax.o dasum.o daxpy.o dcopy.o dnrm2.o dscal.o |
| 84 | 1 | equemene | $(ZB1AUX): $(FRC) |
| 85 | 1 | equemene | |
| 86 | 1 | equemene | #--------------------------------------------------------------------- |
| 87 | 1 | equemene | # The following line defines auxiliary routines needed by both the |
| 88 | 1 | equemene | # Level 2 and Level 3 BLAS. Comment it out only if you already have |
| 89 | 1 | equemene | # both the Level 2 and 3 BLAS. |
| 90 | 1 | equemene | #--------------------------------------------------------------------- |
| 91 | 1 | equemene | ALLBLAS = lsame.o xerbla.o |
| 92 | 1 | equemene | $(ALLBLAS) : $(FRC) |
| 93 | 1 | equemene | |
| 94 | 1 | equemene | #--------------------------------------------------------- |
| 95 | 1 | equemene | # Comment out the next 4 definitions if you already have |
| 96 | 1 | equemene | # the Level 2 BLAS. |
| 97 | 1 | equemene | #--------------------------------------------------------- |
| 98 | 1 | equemene | SBLAS2 = sgemv.o sgbmv.o ssymv.o ssbmv.o sspmv.o \ |
| 99 | 1 | equemene | strmv.o stbmv.o stpmv.o strsv.o stbsv.o stpsv.o \ |
| 100 | 1 | equemene | sger.o ssyr.o sspr.o ssyr2.o sspr2.o |
| 101 | 1 | equemene | $(SBLAS2): $(FRC) |
| 102 | 1 | equemene | |
| 103 | 1 | equemene | CBLAS2 = cgemv.o cgbmv.o chemv.o chbmv.o chpmv.o \ |
| 104 | 1 | equemene | ctrmv.o ctbmv.o ctpmv.o ctrsv.o ctbsv.o ctpsv.o \ |
| 105 | 1 | equemene | cgerc.o cgeru.o cher.o chpr.o cher2.o chpr2.o |
| 106 | 1 | equemene | $(CBLAS2): $(FRC) |
| 107 | 1 | equemene | |
| 108 | 1 | equemene | DBLAS2 = dgemv.o dgbmv.o dsymv.o dsbmv.o dspmv.o \ |
| 109 | 1 | equemene | dtrmv.o dtbmv.o dtpmv.o dtrsv.o dtbsv.o dtpsv.o \ |
| 110 | 1 | equemene | dger.o dsyr.o dspr.o dsyr2.o dspr2.o |
| 111 | 1 | equemene | $(DBLAS2): $(FRC) |
| 112 | 1 | equemene | |
| 113 | 1 | equemene | ZBLAS2 = zgemv.o zgbmv.o zhemv.o zhbmv.o zhpmv.o \ |
| 114 | 1 | equemene | ztrmv.o ztbmv.o ztpmv.o ztrsv.o ztbsv.o ztpsv.o \ |
| 115 | 1 | equemene | zgerc.o zgeru.o zher.o zhpr.o zher2.o zhpr2.o |
| 116 | 1 | equemene | $(ZBLAS2): $(FRC) |
| 117 | 1 | equemene | |
| 118 | 1 | equemene | #--------------------------------------------------------- |
| 119 | 1 | equemene | # Comment out the next 4 definitions if you already have |
| 120 | 1 | equemene | # the Level 3 BLAS. |
| 121 | 1 | equemene | #--------------------------------------------------------- |
| 122 | 1 | equemene | SBLAS3 = sgemm.o ssymm.o ssyrk.o ssyr2k.o strmm.o strsm.o |
| 123 | 1 | equemene | $(SBLAS3): $(FRC) |
| 124 | 1 | equemene | |
| 125 | 1 | equemene | CBLAS3 = cgemm.o csymm.o csyrk.o csyr2k.o ctrmm.o ctrsm.o \ |
| 126 | 1 | equemene | chemm.o cherk.o cher2k.o |
| 127 | 1 | equemene | $(CBLAS3): $(FRC) |
| 128 | 1 | equemene | |
| 129 | 1 | equemene | DBLAS3 = dgemm.o dsymm.o dsyrk.o dsyr2k.o dtrmm.o dtrsm.o |
| 130 | 1 | equemene | $(DBLAS3): $(FRC) |
| 131 | 1 | equemene | |
| 132 | 1 | equemene | ZBLAS3 = zgemm.o zsymm.o zsyrk.o zsyr2k.o ztrmm.o ztrsm.o \ |
| 133 | 1 | equemene | zhemm.o zherk.o zher2k.o |
| 134 | 1 | equemene | $(ZBLAS3): $(FRC) |
| 135 | 1 | equemene | |
| 136 | 1 | equemene | ALLOBJ=$(SBLAS1) $(SBLAS2) $(SBLAS3) $(DBLAS1) $(DBLAS2) $(DBLAS3) \ |
| 137 | 1 | equemene | $(CBLAS1) $(CBLAS2) $(CBLAS3) $(ZBLAS1) \ |
| 138 | 1 | equemene | $(ZBLAS2) $(ZBLAS3) $(ALLBLAS) |
| 139 | 1 | equemene | |
| 140 | 1 | equemene | $(BLASLIB): $(ALLOBJ) |
| 141 | 1 | equemene | $(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) |
| 142 | 1 | equemene | $(RANLIB) $@ |
| 143 | 1 | equemene | |
| 144 | 1 | equemene | single: $(SBLAS1) $(ALLBLAS) $(SBLAS2) $(SBLAS3) |
| 145 | 1 | equemene | $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(SBLAS1) $(ALLBLAS) \ |
| 146 | 1 | equemene | $(SBLAS2) $(SBLAS3) |
| 147 | 1 | equemene | $(RANLIB) $(BLASLIB) |
| 148 | 1 | equemene | |
| 149 | 1 | equemene | double: $(DBLAS1) $(ALLBLAS) $(DBLAS2) $(DBLAS3) |
| 150 | 1 | equemene | $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(DBLAS1) $(ALLBLAS) \ |
| 151 | 1 | equemene | $(DBLAS2) $(DBLAS3) |
| 152 | 1 | equemene | $(RANLIB) $(BLASLIB) |
| 153 | 1 | equemene | |
| 154 | 1 | equemene | complex: $(CBLAS1) $(CB1AUX) $(ALLBLAS) $(CBLAS2) $(CBLAS3) |
| 155 | 1 | equemene | $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(CBLAS1) $(CB1AUX) \ |
| 156 | 1 | equemene | $(ALLBLAS) $(CBLAS2) $(CBLAS3) |
| 157 | 1 | equemene | $(RANLIB) $(BLASLIB) |
| 158 | 1 | equemene | |
| 159 | 1 | equemene | complex16: $(ZBLAS1) $(ZB1AUX) $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) |
| 160 | 1 | equemene | $(ARCH) $(ARCHFLAGS) $(BLASLIB) $(ZBLAS1) $(ZB1AUX) \ |
| 161 | 1 | equemene | $(ALLBLAS) $(ZBLAS2) $(ZBLAS3) |
| 162 | 1 | equemene | $(RANLIB) $(BLASLIB) |
| 163 | 1 | equemene | |
| 164 | 1 | equemene | FRC: |
| 165 | 1 | equemene | @FRC=$(FRC) |
| 166 | 1 | equemene | |
| 167 | 1 | equemene | clean: |
| 168 | 1 | equemene | rm -f *.o |
| 169 | 1 | equemene | |
| 170 | 1 | equemene | .f.o: |
| 171 | 1 | equemene | $(FORTRAN) $(OPTS) -c $< -o $@ |