1TOPDIR	= ..
2include $(TOPDIR)/Makefile.system
3
4ifeq ($(ARCH_), x86)
5SUPPORT_GEMM3M = 1
6endif
7
8ifeq ($(ARCH_), x86_64)
9SUPPORT_GEMM3M = 1
10endif
11
12ifeq ($(ARCH_), ia64)
13SUPPORT_GEMM3M = 1
14endif
15
16ifeq ($(ARCH_), MIPS)
17SUPPORT_GEMM3M = 1
18endif
19
20SBLAS1OBJS    = \
21		saxpyf.$(SUFFIX) sswapf.$(SUFFIX) \
22		scopyf.$(SUFFIX) sscalf.$(SUFFIX) \
23		sdotf.$(SUFFIX) sdsdotf.$(SUFFIX) dsdotf.$(SUFFIX) \
24		sasumf.$(SUFFIX) snrm2f.$(SUFFIX) \
25		smaxf.$(SUFFIX) samaxf.$(SUFFIX) ismaxf.$(SUFFIX) isamaxf.$(SUFFIX) \
26		sminf.$(SUFFIX) saminf.$(SUFFIX) isminf.$(SUFFIX) isaminf.$(SUFFIX) \
27		srotf.$(SUFFIX) srotgf.$(SUFFIX) srotmf.$(SUFFIX) srotmgf.$(SUFFIX) \
28
29SBLAS2OBJS    = \
30		sgemvf.$(SUFFIX) sgerf.$(SUFFIX) \
31		strsvf.$(SUFFIX) strmvf.$(SUFFIX) ssymvf.$(SUFFIX) \
32		ssyrf.$(SUFFIX)  ssyr2f.$(SUFFIX) sgbmvf.$(SUFFIX) \
33		ssbmvf.$(SUFFIX) sspmvf.$(SUFFIX) \
34		ssprf.$(SUFFIX)  sspr2f.$(SUFFIX) \
35		stbsvf.$(SUFFIX) stbmvf.$(SUFFIX) \
36		stpsvf.$(SUFFIX) stpmvf.$(SUFFIX)
37
38SBLAS3OBJS    = \
39		sgemmf.$(SUFFIX) ssymmf.$(SUFFIX) strmmf.$(SUFFIX) \
40		strsmf.$(SUFFIX) ssyrkf.$(SUFFIX) ssyr2kf.$(SUFFIX)
41
42DBLAS1OBJS    = \
43		daxpyf.$(SUFFIX) dswapf.$(SUFFIX) \
44		dcopyf.$(SUFFIX) dscalf.$(SUFFIX) \
45		 ddotf.$(SUFFIX) \
46		dasumf.$(SUFFIX) dnrm2f.$(SUFFIX) \
47		dmaxf.$(SUFFIX) damaxf.$(SUFFIX) idmaxf.$(SUFFIX) idamaxf.$(SUFFIX) \
48		dminf.$(SUFFIX) daminf.$(SUFFIX) idminf.$(SUFFIX) idaminf.$(SUFFIX) \
49		drotf.$(SUFFIX) drotgf.$(SUFFIX) drotmf.$(SUFFIX) drotmgf.$(SUFFIX) \
50
51DBLAS2OBJS    = \
52		dgemvf.$(SUFFIX) dgerf.$(SUFFIX) \
53		dtrsvf.$(SUFFIX) dtrmvf.$(SUFFIX) dsymvf.$(SUFFIX) \
54		dsyrf.$(SUFFIX)  dsyr2f.$(SUFFIX) dgbmvf.$(SUFFIX) \
55		dsbmvf.$(SUFFIX) dspmvf.$(SUFFIX) \
56		dsprf.$(SUFFIX)  dspr2f.$(SUFFIX) \
57		dtbsvf.$(SUFFIX) dtbmvf.$(SUFFIX) \
58		dtpsvf.$(SUFFIX) dtpmvf.$(SUFFIX)
59
60DBLAS3OBJS    = \
61		dgemmf.$(SUFFIX) dsymmf.$(SUFFIX) dtrmmf.$(SUFFIX) \
62		dtrsmf.$(SUFFIX) dsyrkf.$(SUFFIX) dsyr2kf.$(SUFFIX)
63
64CBLAS1OBJS    = \
65		caxpyf.$(SUFFIX) caxpycf.$(SUFFIX) cswapf.$(SUFFIX) \
66		ccopyf.$(SUFFIX) cscalf.$(SUFFIX) csscalf.$(SUFFIX) \
67		cdotcf.$(SUFFIX)  cdotuf.$(SUFFIX) \
68		scasumf.$(SUFFIX) scnrm2f.$(SUFFIX) \
69		scamaxf.$(SUFFIX) icamaxf.$(SUFFIX) \
70		scaminf.$(SUFFIX) icaminf.$(SUFFIX) \
71		csrotf.$(SUFFIX) crotgf.$(SUFFIX) \
72
73CBLAS2OBJS    = \
74		cgemvf.$(SUFFIX) cgeruf.$(SUFFIX) cgercf.$(SUFFIX) \
75		ctrsvf.$(SUFFIX) ctrmvf.$(SUFFIX) csymvf.$(SUFFIX) \
76		csyrf.$(SUFFIX)  csyr2f.$(SUFFIX) cgbmvf.$(SUFFIX) \
77		csbmvf.$(SUFFIX) cspmvf.$(SUFFIX) \
78		csprf.$(SUFFIX)  cspr2f.$(SUFFIX) \
79		ctbsvf.$(SUFFIX) ctbmvf.$(SUFFIX) \
80		ctpsvf.$(SUFFIX) ctpmvf.$(SUFFIX) \
81		chemvf.$(SUFFIX) chbmvf.$(SUFFIX) \
82		cherf.$(SUFFIX)  cher2f.$(SUFFIX) \
83		chpmvf.$(SUFFIX) chprf.$(SUFFIX)  chpr2f.$(SUFFIX)
84
85CBLAS3OBJS    = \
86		cgemmf.$(SUFFIX) csymmf.$(SUFFIX) ctrmmf.$(SUFFIX) \
87		ctrsmf.$(SUFFIX) csyrkf.$(SUFFIX) csyr2kf.$(SUFFIX) \
88	       	chemmf.$(SUFFIX) cherkf.$(SUFFIX) cher2kf.$(SUFFIX)
89
90ZBLAS1OBJS    = \
91		zaxpyf.$(SUFFIX) zaxpycf.$(SUFFIX) zswapf.$(SUFFIX) \
92		zcopyf.$(SUFFIX) zscalf.$(SUFFIX) zdscalf.$(SUFFIX) \
93		zdotcf.$(SUFFIX)  zdotuf.$(SUFFIX) \
94		dzasumf.$(SUFFIX)  dznrm2f.$(SUFFIX) \
95		dzamaxf.$(SUFFIX) izamaxf.$(SUFFIX) \
96		dzaminf.$(SUFFIX) izaminf.$(SUFFIX) \
97		zdrotf.$(SUFFIX) zrotgf.$(SUFFIX) \
98
99ZBLAS2OBJS    = \
100		zgemvf.$(SUFFIX) zgeruf.$(SUFFIX) zgercf.$(SUFFIX) \
101		ztrsvf.$(SUFFIX) ztrmvf.$(SUFFIX) zsymvf.$(SUFFIX) \
102		zsyrf.$(SUFFIX)  zsyr2f.$(SUFFIX) zgbmvf.$(SUFFIX) \
103		zsbmvf.$(SUFFIX) zspmvf.$(SUFFIX) \
104		zsprf.$(SUFFIX)  zspr2f.$(SUFFIX) \
105		ztbsvf.$(SUFFIX) ztbmvf.$(SUFFIX) \
106		ztpsvf.$(SUFFIX) ztpmvf.$(SUFFIX) \
107		zhemvf.$(SUFFIX) zhbmvf.$(SUFFIX) \
108		zherf.$(SUFFIX)  zher2f.$(SUFFIX) \
109		zhpmvf.$(SUFFIX) zhprf.$(SUFFIX)  zhpr2f.$(SUFFIX)
110
111ZBLAS3OBJS    = \
112		zgemmf.$(SUFFIX) zsymmf.$(SUFFIX) ztrmmf.$(SUFFIX) \
113		ztrsmf.$(SUFFIX) zsyrkf.$(SUFFIX) zsyr2kf.$(SUFFIX) \
114	       	zhemmf.$(SUFFIX) zherkf.$(SUFFIX) zher2kf.$(SUFFIX)
115
116ifdef SUPPORT_GEMM3M
117
118CBLAS3OBJS   +=  cgemm3mf.$(SUFFIX) csymm3mf.$(SUFFIX) chemm3mf.$(SUFFIX)
119
120ZBLAS3OBJS   +=  zgemm3mf.$(SUFFIX) zsymm3mf.$(SUFFIX) zhemm3mf.$(SUFFIX)
121
122endif
123
124SBLASOBJS    = $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS)
125DBLASOBJS    = $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS)
126QBLASOBJS    = $(QBLAS1OBJS) $(QBLAS2OBJS) $(QBLAS3OBJS)
127CBLASOBJS    = $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS)
128ZBLASOBJS    = $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS)
129XBLASOBJS    = $(XBLAS1OBJS) $(XBLAS2OBJS) $(XBLAS3OBJS)
130
131SBLASOBJS	+= \
132	sgetf2f.$(SUFFIX) sgetrff.$(SUFFIX) slauu2f.$(SUFFIX) slauumf.$(SUFFIX) \
133	spotf2f.$(SUFFIX) spotrff.$(SUFFIX) strti2f.$(SUFFIX) strtrif.$(SUFFIX) \
134	slaswpf.$(SUFFIX) sgetrsf.$(SUFFIX) sgesvf.$(SUFFIX)  spotrif.$(SUFFIX) \
135
136DBLASOBJS	+= \
137	dgetf2f.$(SUFFIX) dgetrff.$(SUFFIX) dlauu2f.$(SUFFIX) dlauumf.$(SUFFIX) \
138	dpotf2f.$(SUFFIX) dpotrff.$(SUFFIX) dtrti2f.$(SUFFIX) dtrtrif.$(SUFFIX) \
139	dlaswpf.$(SUFFIX) dgetrsf.$(SUFFIX) dgesvf.$(SUFFIX)  dpotrif.$(SUFFIX) \
140
141QBLASOBJS	+= \
142	qgetf2f.$(SUFFIX) qgetrff.$(SUFFIX) qlauu2f.$(SUFFIX) qlauumf.$(SUFFIX) \
143	qpotf2f.$(SUFFIX) qpotrff.$(SUFFIX) qtrti2f.$(SUFFIX) qtrtrif.$(SUFFIX) \
144	qlaswpf.$(SUFFIX) qgetrsf.$(SUFFIX) qgesvf.$(SUFFIX)  qpotrif.$(SUFFIX) \
145
146CBLASOBJS	+= \
147	cgetf2f.$(SUFFIX) cgetrff.$(SUFFIX) clauu2f.$(SUFFIX) clauumf.$(SUFFIX) \
148	cpotf2f.$(SUFFIX) cpotrff.$(SUFFIX) ctrti2f.$(SUFFIX) ctrtrif.$(SUFFIX) \
149	claswpf.$(SUFFIX) cgetrsf.$(SUFFIX) cgesvf.$(SUFFIX)  cpotrif.$(SUFFIX) \
150
151ZBLASOBJS	+= \
152	zgetf2f.$(SUFFIX) zgetrff.$(SUFFIX) zlauu2f.$(SUFFIX) zlauumf.$(SUFFIX) \
153	zpotf2f.$(SUFFIX) zpotrff.$(SUFFIX) ztrti2f.$(SUFFIX) ztrtrif.$(SUFFIX) \
154	zlaswpf.$(SUFFIX) zgetrsf.$(SUFFIX) zgesvf.$(SUFFIX)  zpotrif.$(SUFFIX) \
155
156XBLASOBJS	+= \
157	xgetf2f.$(SUFFIX) xgetrff.$(SUFFIX) xlauu2f.$(SUFFIX) xlauumf.$(SUFFIX) \
158	xpotf2f.$(SUFFIX) xpotrff.$(SUFFIX) xtrti2f.$(SUFFIX) xtrtrif.$(SUFFIX) \
159	xlaswpf.$(SUFFIX) xgetrsf.$(SUFFIX) xgesvf.$(SUFFIX)  xpotrif.$(SUFFIX) \
160
161
162include $(TOPDIR)/Makefile.tail
163
164all :: libs
165
166clean ::
167
168level1 : $(SBLAS1OBJS) $(DBLAS1OBJS) $(QBLAS1OBJS) $(CBLAS1OBJS) $(ZBLAS1OBJS) $(XBLAS1OBJS)
169	$(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
170
171level2 : $(SBLAS2OBJS) $(DBLAS2OBJS) $(QBLAS2OBJS) $(CBLAS2OBJS) $(ZBLAS2OBJS) $(XBLAS2OBJS)
172	$(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
173
174level3 : $(SBLAS3OBJS) $(DBLAS3OBJS) $(QBLAS3OBJS) $(CBLAS3OBJS) $(ZBLAS3OBJS) $(XBLAS3OBJS)
175	$(AR) $(ARFLAGS) -ru $(TOPDIR)/$(LIBNAME) $^
176
177