1TOPDIR	= ../..
2include ../../Makefile.system
3
4COMMONOBJS	 = memory.$(SUFFIX) xerbla.$(SUFFIX) c_abs.$(SUFFIX) z_abs.$(SUFFIX)
5
6COMMONOBJS	+= slamch.$(SUFFIX) slamc3.$(SUFFIX) dlamch.$(SUFFIX)  dlamc3.$(SUFFIX)
7
8ifdef SMP
9COMMONOBJS	+= blas_server.$(SUFFIX) divtable.$(SUFFIX) blasL1thread.$(SUFFIX) openblas_set_num_threads.$(SUFFIX)
10ifndef NO_AFFINITY
11COMMONOBJS	+= init.$(SUFFIX)
12endif
13endif
14
15# COMMONOBJS	+=  info.$(SUFFIX)
16
17ifdef DYNAMIC_ARCH
18COMMONOBJS	+=  dynamic.$(SUFFIX)
19else
20COMMONOBJS	+=  parameter.$(SUFFIX)
21endif
22
23ifdef EXPRECISION
24COMMONOBJS	+= x_abs.$(SUFFIX) qlamch.$(SUFFIX) qlamc3.$(SUFFIX)
25endif
26
27ifdef QUAD_PRECISION
28COMMONOBJS	+= addx.$(SUFFIX) mulx.$(SUFFIX)
29endif
30
31ifeq ($(OSNAME), CYGWIN_NT)
32ifeq ($(C_COMPILER), PGI)
33# COMMONOBJS	+= __builtin_stinit.$(SUFFIX)
34endif
35endif
36
37ifdef USE_CUDA
38COMMONOBJS	+= cuda_init.$(SUFFIX)
39endif
40
41ifdef FUNCTION_PROFILE
42COMMONOBJS	+= profile.$(SUFFIX)
43endif
44
45LIBOTHERS = libothers.$(LIBSUFFIX)
46
47ifeq ($(CORE), PPC440)
48MEMORY = memory_qalloc.c
49endif
50
51ifndef MEMORY
52MEMORY = memory.c
53endif
54
55ifeq ($(USE_OPENMP), 1)
56BLAS_SERVER = blas_server_omp.c
57else
58ifeq ($(OSNAME), WINNT)
59BLAS_SERVER = blas_server_win32.c
60endif
61ifeq ($(OSNAME), CYGWIN_NT)
62BLAS_SERVER = blas_server_win32.c
63endif
64ifeq ($(OSNAME), Interix)
65BLAS_SERVER = blas_server_win32.c
66endif
67endif
68
69ifndef BLAS_SERVER
70BLAS_SERVER = blas_server.c
71endif
72
73ifdef DYNAMIC_ARCH
74HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) dynamic.$(SUFFIX)
75else
76HPLOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) parameter.$(SUFFIX)
77endif
78
79xerbla.$(SUFFIX) : xerbla.c
80	$(CC) $(CFLAGS) -c $< -o $(@F)
81
82dynamic.$(SUFFIX) : dynamic.c
83	$(CC) $(CFLAGS) -c $< -o $(@F)
84
85dynamic.$(PSUFFIX) : dynamic.c
86	$(CC) $(PFLAGS) -c $< -o $(@F)
87
88parameter.$(SUFFIX) : parameter.c ../../param.h
89	$(CC) $(CFLAGS) -c $< -o $(@F)
90
91init.$(SUFFIX) : init.c
92	$(CC) $(CFLAGS) -c $< -o $(@F)
93
94profile.$(SUFFIX) : profile.c
95	$(CC) $(CFLAGS) -c $< -o $(@F)
96
97memory.$(SUFFIX) : $(MEMORY) ../../common.h ../../param.h
98	$(CC) $(CFLAGS) -c $< -o $(@F)
99
100blas_server.$(SUFFIX) : $(BLAS_SERVER) ../../common.h ../../common_thread.h ../../param.h
101	$(CC) $(CFLAGS) -c $< -o $(@F)
102
103openblas_set_num_threads.$(SUFFIX) : openblas_set_num_threads.c
104	$(CC) $(CFLAGS) -c $< -o $(@F)
105
106blasL1thread.$(SUFFIX) : blas_l1_thread.c ../../common.h ../../common_thread.h
107	$(CC) $(CFLAGS) -c $< -o $(@F)
108
109cuda_init.$(SUFFIX) : cuda_init.c
110	$(CUCC) $(COMMON_OPT) -I$(TOPDIR) $(CUFLAGS) -DCNAME=$(*F) -c $< -o $(@F)
111
112c_abs.$(SUFFIX) : abs.c
113	$(CC) $(CFLAGS) -c -UDOUBLE $< -o $(@F)
114
115z_abs.$(SUFFIX) : abs.c
116	$(CC) $(CFLAGS) -c -DDOUBLE $< -o $(@F)
117
118x_abs.$(SUFFIX) : abs.c
119	$(CC) $(CFLAGS) -c -DXDOUBLE $< -o $(@F)
120
121slamch.$(SUFFIX) : lamch.c
122	$(CC) $(CFLAGS) -c -UDOUBLE $< -o $(@F)
123
124dlamch.$(SUFFIX) : lamch.c
125	$(CC) $(CFLAGS) -c -DDOUBLE $< -o $(@F)
126
127qlamch.$(SUFFIX) : lamch.c
128	$(CC) $(CFLAGS) -c -DXDOUBLE $< -o $(@F)
129
130slamc3.$(SUFFIX) : lamc3.c
131	$(CC) $(CFLAGS) -c -UDOUBLE $< -o $(@F)
132
133dlamc3.$(SUFFIX) : lamc3.c
134	$(CC) $(CFLAGS) -c -DDOUBLE $< -o $(@F)
135
136qlamc3.$(SUFFIX) : lamc3.c
137	$(CC) $(CFLAGS) -c -DXDOUBLE $< -o $(@F)
138
139divtable.$(SUFFIX) : divtable.c
140	$(CC) $(CFLAGS) -c -UDOUBLE $< -o $(@F)
141
142__builtin_stinit.$(SUFFIX) : $(ARCH)/builtin_stinit.S
143	$(CC) $(CFLAGS) -c -UDOUBLE $< -o $(@F)
144
145addx.$(SUFFIX) : $(ARCH)/addx.c
146	$(CC) $(CFLAGS) -c -DXDOUBLE -UCOMPLEX $< -o $(@F)
147
148mulx.$(SUFFIX) : $(ARCH)/mulx.c
149	$(CC) $(CFLAGS) -c -DXDOUBLE -UCOMPLEX $< -o $(@F)
150
151xerbla.$(PSUFFIX) : xerbla.c
152	$(CC) $(PFLAGS) -c $< -o $(@F)
153
154parameter.$(PSUFFIX) : parameter.c ../../param.h
155	$(CC) $(PFLAGS) -c $< -o $(@F)
156
157init.$(PSUFFIX) : init.c
158	$(CC) $(PFLAGS) -c $< -o $(@F)
159
160profile.$(PSUFFIX) : profile.c
161	$(CC) $(PFLAGS) -c $< -o $(@F)
162
163memory.$(PSUFFIX) : $(MEMORY) ../../common.h ../../param.h
164	$(CC) $(PFLAGS) -c $< -o $(@F)
165
166blas_server.$(PSUFFIX) : $(BLAS_SERVER) ../../common.h ../../common_thread.h
167	$(CC) $(PFLAGS) -c $< -o $(@F)
168
169blasL1thread.$(PSUFFIX) : blas_l1_thread.c ../../common.h ../../common_thread.h
170	$(CC) $(PFLAGS) -c $< -o $(@F)
171
172cuda_init.$(PSUFFIX) : cuda_init.c
173	$(CUCC) $(COMMON_OPT) -I$(TOPDIR) $(CUFLAGS) -DCNAME=$(*F) -c $< -o $(@F)
174
175c_abs.$(PSUFFIX) : abs.c
176	$(CC) $(PFLAGS) -c -UDOUBLE $< -o $(@F)
177
178z_abs.$(PSUFFIX) : abs.c
179	$(CC) $(PFLAGS) -c -DDOUBLE $< -o $(@F)
180
181x_abs.$(PSUFFIX) : abs.c
182	$(CC) $(PFLAGS) -c -DXDOUBLE $< -o $(@F)
183
184slamch.$(PUFFIX) : lamch.c
185	$(CC) $(PFLAGS) -c -UDOUBLE $< -o $(@F)
186
187dlamch.$(PUFFIX) : lamch.c
188	$(CC) $(PFLAGS) -c -DDOUBLE $< -o $(@F)
189
190qlamch.$(PUFFIX) : lamch.c
191	$(CC) $(PFLAGS) -c -DXDOUBLE $< -o $(@F)
192
193slamc3.$(PUFFIX) : lamc3.c
194	$(CC) $(PFLAGS) -c -UDOUBLE $< -o $(@F)
195
196dlamc3.$(PUFFIX) : lamc3.c
197	$(CC) $(PFLAGS) -c -DDOUBLE $< -o $(@F)
198
199qlamc3.$(PUFFIX) : lamc3.c
200	$(CC) $(PFLAGS) -c -DXDOUBLE $< -o $(@F)
201
202divtable.$(PSUFFIX) : divtable.c
203	$(CC) $(PFLAGS) -c -UDOUBLE $< -o $(@F)
204
205__builtin_stinit.$(PPSUFFIX) : $(ARCH)/builtin_stinit.S
206	$(CC) $(PFLAGS) -c -UDOUBLE $< -o $(@F)
207
208addx.$(PSUFFIX) : $(ARCH)/addx.c
209	$(CC) $(PFLAGS) -c -DXDOUBLE -UCOMPLEX $< -o $(@F)
210
211mulx.$(PSUFFIX) : $(ARCH)/mulx.c
212	$(CC) $(PFLAGS) -c -DXDOUBLE -UCOMPLEX $< -o $(@F)
213
214info.$(SUFFIX) : info.c info.h ../../common.h ../../param.h
215	$(CC) $(CFLAGS) -c $< -o $(@F)
216
217
218hpl   : CFLAGS += -DHPL
219hpl_p : CFLAGS += -DHPL
220
221include $(TOPDIR)/Makefile.tail
222