1 # This Makefile compiles the CBLAS routines 2 # 3 dlvl = ../. 4 include $(dlvl)/Makefile.in 5 6 # 7 # Erase all object and archive files 8 # 9 clean: 10 rm -f *.o a.out core 11 12 # Error handling routines for level 2 & 3 13 14 errhand = cblas_globals.o cblas_xerbla.o xerbla.o 15 16 # Object files of all routines 17 alev = $(alev1) $(alev2) $(alev3) $(errhand) 18 # 19 # 20 # CBLAS routines 21 # 22 # Level 1 23 # 24 # 25 26 # 27 # All object files for single real precision 28 # 29 slev1 = cblas_srotg.o cblas_srotmg.o cblas_srot.o cblas_srotm.o \ 30 cblas_sswap.o cblas_sscal.o cblas_scopy.o cblas_saxpy.o \ 31 cblas_sdot.o cblas_sdsdot.o cblas_snrm2.o cblas_sasum.o \ 32 cblas_isamax.o sdotsub.o sdsdotsub.o snrm2sub.o sasumsub.o \ 33 isamaxsub.o 34 # 35 # All object files for double real precision 36 # 37 dlev1 = cblas_drotg.o cblas_drotmg.o cblas_drot.o cblas_drotm.o \ 38 cblas_dswap.o cblas_dscal.o cblas_dcopy.o cblas_daxpy.o \ 39 cblas_ddot.o cblas_dsdot.o cblas_dnrm2.o cblas_dasum.o \ 40 cblas_idamax.o ddotsub.o dsdotsub.o dnrm2sub.o \ 41 dasumsub.o idamaxsub.o 42 43 # 44 # All object files for single complex precision 45 # 46 clev1 = cblas_cswap.o cblas_cscal.o cblas_csscal.o cblas_ccopy.o \ 47 cblas_caxpy.o cblas_cdotu_sub.o cblas_cdotc_sub.o \ 48 cblas_icamax.o cdotcsub.o cdotusub.o icamaxsub.o 49 50 # 51 # All object files for double complex precision 52 # 53 zlev1 = cblas_zswap.o cblas_zscal.o cblas_zdscal.o cblas_zcopy.o \ 54 cblas_zaxpy.o cblas_zdotu_sub.o cblas_zdotc_sub.o cblas_dznrm2.o \ 55 cblas_dzasum.o cblas_izamax.o zdotcsub.o zdotusub.o \ 56 dzasumsub.o dznrm2sub.o izamaxsub.o 57 58 # 59 # Common files for single / complex precision 60 # 61 sclev1 = cblas_scasum.o scasumsub.o cblas_scnrm2.o scnrm2sub.o 62 63 # 64 # All object files 65 # 66 alev1 = $(slev1) $(dlev1) $(clev1) $(zlev1) $(sclev1) 67 68 69 # 70 # Make an archive file 71 # 72 73 # Single real precision 74 slib1: $(slev1) $(sclev1) 75 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(slev1) $(sclev1) 76 $(RANLIB) $(CBLIB) 77 78 # Double real precision 79 dlib1: $(dlev1) 80 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(dlev1) 81 $(RANLIB) $(CBLIB) 82 83 # Single complex precision 84 clib1: $(clev1) $(sclev1) 85 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(clev1) $(sclev1) 86 $(RANLIB) $(CBLIB) 87 88 # Double complex precision 89 zlib1: $(zlev1) 90 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(zlev1) 91 $(RANLIB) $(CBLIB) 92 93 # All precisions 94 all1: $(alev1) 95 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(alev1) 96 $(RANLIB) $(CBLIB) 97 98 # 99 # 100 # CBLAS routines 101 # 102 # Level 2 103 # 104 # 105 106 # 107 # All object files for single real precision 108 # 109 slev2 = cblas_sgemv.o cblas_sgbmv.o cblas_sger.o cblas_ssbmv.o cblas_sspmv.o \ 110 cblas_sspr.o cblas_sspr2.o cblas_ssymv.o cblas_ssyr.o cblas_ssyr2.o \ 111 cblas_stbmv.o cblas_stbsv.o cblas_stpmv.o cblas_stpsv.o cblas_strmv.o \ 112 cblas_strsv.o 113 114 # 115 # All object files for double real precision 116 # 117 dlev2 = cblas_dgemv.o cblas_dgbmv.o cblas_dger.o cblas_dsbmv.o cblas_dspmv.o \ 118 cblas_dspr.o cblas_dspr2.o cblas_dsymv.o cblas_dsyr.o cblas_dsyr2.o \ 119 cblas_dtbmv.o cblas_dtbsv.o cblas_dtpmv.o cblas_dtpsv.o cblas_dtrmv.o \ 120 cblas_dtrsv.o 121 122 # 123 # All object files for single complex precision 124 # 125 clev2 = cblas_cgemv.o cblas_cgbmv.o cblas_chemv.o cblas_chbmv.o cblas_chpmv.o \ 126 cblas_ctrmv.o cblas_ctbmv.o cblas_ctpmv.o cblas_ctrsv.o cblas_ctbsv.o \ 127 cblas_ctpsv.o cblas_cgeru.o cblas_cgerc.o cblas_cher.o cblas_cher2.o \ 128 cblas_chpr.o cblas_chpr2.o 129 130 # 131 # All object files for double complex precision 132 # 133 zlev2 = cblas_zgemv.o cblas_zgbmv.o cblas_zhemv.o cblas_zhbmv.o cblas_zhpmv.o \ 134 cblas_ztrmv.o cblas_ztbmv.o cblas_ztpmv.o cblas_ztrsv.o cblas_ztbsv.o \ 135 cblas_ztpsv.o cblas_zgeru.o cblas_zgerc.o cblas_zher.o cblas_zher2.o \ 136 cblas_zhpr.o cblas_zhpr2.o 137 # 138 # All object files 139 # 140 alev2 = $(slev2) $(dlev2) $(clev2) $(zlev2) 141 142 # 143 # Make an archive file 144 # 145 146 # Single real precision 147 slib2: $(slev2) $(errhand) 148 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(slev2) $(errhand) 149 $(RANLIB) $(CBLIB) 150 151 # Double real precision 152 dlib2: $(dlev2) $(errhand) 153 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(dlev2) $(errhand) 154 $(RANLIB) $(CBLIB) 155 156 # Single complex precision 157 clib2: $(clev2) $(errhand) 158 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(clev2) $(errhand) 159 $(RANLIB) $(CBLIB) 160 161 # Double complex precision 162 zlib2: $(zlev2) $(errhand) 163 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(zlev2) $(errhand) 164 $(RANLIB) $(CBLIB) 165 166 # All precisions 167 all2: $(alev2) $(errhand) 168 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(alev2) $(errhand) 169 $(RANLIB) $(CBLIB) 170 # 171 # 172 # CBLAS routines 173 # 174 # Level 3 175 # 176 # 177 178 # 179 # All object files for single real precision 180 # 181 slev3 = cblas_sgemm.o cblas_ssymm.o cblas_ssyrk.o cblas_ssyr2k.o cblas_strmm.o\ 182 cblas_strsm.o 183 184 # 185 # All object files for double real precision 186 # 187 dlev3 = cblas_dgemm.o cblas_dsymm.o cblas_dsyrk.o cblas_dsyr2k.o cblas_dtrmm.o\ 188 cblas_dtrsm.o 189 190 # 191 # All object files for single complex precision 192 # 193 clev3 = cblas_cgemm.o cblas_csymm.o cblas_chemm.o cblas_cherk.o\ 194 cblas_cher2k.o cblas_ctrmm.o cblas_ctrsm.o cblas_csyrk.o\ 195 cblas_csyr2k.o 196 # 197 # All object files for double complex precision 198 # 199 zlev3 = cblas_zgemm.o cblas_zsymm.o cblas_zhemm.o cblas_zherk.o\ 200 cblas_zher2k.o cblas_ztrmm.o cblas_ztrsm.o cblas_zsyrk.o\ 201 cblas_zsyr2k.o 202 # 203 # All object files 204 # 205 alev3 = $(slev3) $(dlev3) $(clev3) $(zlev3) 206 207 # 208 # Make an archive file 209 # 210 211 # Single real precision 212 slib3: $(slev3) $(errhand) 213 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(slev3) $(errhand) 214 $(RANLIB) $(CBLIB) 215 216 # Double real precision 217 dlib3: $(dlev3) $(errhand) 218 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(dlev3) $(errhand) 219 $(RANLIB) $(CBLIB) 220 221 # Single complex precision 222 clib3: $(clev3) $(errhand) 223 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(clev3) $(errhand) 224 $(RANLIB) $(CBLIB) 225 226 # Single complex precision 227 zlib3: $(zlev3) $(errhand) 228 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(zlev3) $(errhand) 229 $(RANLIB) $(CBLIB) 230 231 # All precisions 232 all3: $(alev3) $(errhand) 233 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(alev3) 234 $(RANLIB) $(CBLIB) 235 236 # All levels and precisions 237 all: $(alev) 238 $(ARCH) $(ARCHFLAGS) $(CBLIB) $(alev) 239 $(RANLIB) $(CBLIB) 240 241 242 .SUFFIXES: .o .c .f 243 244 .c.o: 245 $(CC) $(CFLAGS) -I../include -c $*.c 246 .f.o: 247 $(FC) $(FFLAGS) -c $*.f 248