2
SRCdir = $(TOPdir)/CONFIG/src
3
INCdir = $(TOPdir)/CONFIG/include
8
CCFLAGS = $(INCFLAGS) $(MYFLAGS) $(CFLAGS)
20
xconfig : $(SRCdir)/config.c atlconf_misc.o
21
$(XCC) $(XCFLAGS) -o xconfig $(SRCdir)/config.c atlconf_misc.o $(LIBS)
22
xspew : $(SRCdir)/SpewMakeInc.c atlconf_misc.o
23
$(XCC) $(XCFLAGS) -o xspew $(SRCdir)/SpewMakeInc.c atlconf_misc.o \
26
$(wind)/ATLwin_ifort.exe : $(SRCdir)/winf77.c
27
gcc -mno-cygwin -o $(wind)/ATLwin_ifort.exe -DDEFDF=ifort \
29
$(wind)/ATLwin_icc.exe : $(SRCdir)/wincc.c
30
gcc -mno-cygwin -o $(wind)/ATLwin_icc.exe -DDEFDF=icl \
32
$(wind)/ATLwin_cl.exe : $(SRCdir)/wincc.c
33
gcc -mno-cygwin -o $(wind)/ATLwin_cl.exe -DDEFDF=cl \
35
$(wind)/ATLwin_icl.exe : $(SRCdir)/wincc.c
36
gcc -mno-cygwin -o $(wind)/ATLwin_icl.exe -DDEFDF=icl \
38
xprobe_pmake : probe_pmake.o atlconf_misc.o
39
$(XCC) $(XCFLAGS) -o xprobe_pmake probe_pmake.o atlconf_misc.o $(LIBS)
40
xprobe_f2c : probe_f2c.o atlconf_misc.o
41
$(XCC) $(XCFLAGS) -o xprobe_f2c probe_f2c.o atlconf_misc.o $(LIBS)
42
xprobe_comp : probe_comp.o atlconf_misc.o
43
$(XCC) $(XCFLAGS) -o xprobe_comp probe_comp.o atlconf_misc.o $(LIBS)
44
xprobe_arch : probe_arch.o atlconf_misc.o
45
$(XCC) $(XCFLAGS) -o xprobe_arch probe_arch.o atlconf_misc.o $(LIBS)
46
xprobe_vec : probe_vec.o atlconf_misc.o
47
$(XCC) $(XCFLAGS) -o xprobe_vec probe_vec.o atlconf_misc.o $(LIBS)
48
xprobe_asm : probe_asm.o atlconf_misc.o
49
$(XCC) $(XCFLAGS) -o xprobe_asm probe_asm.o atlconf_misc.o $(LIBS)
50
xprobe_OS : probe_OS.o atlconf_misc.o
51
$(XCC) $(XCFLAGS) -o xprobe_OS probe_OS.o atlconf_misc.o $(LIBS)
53
xprint_enums : $(SRCdir)/print_enums.c
54
$(XCC) $(XCFLAGS) -o xprint_enums $(SRCdir)/print_enums.c
55
xatlbench : atlbench.o atlconf_misc.o
56
$(XCC) $(XCFLAGS) -o xatlbench atlbench.o atlconf_misc.o
57
atlbench.o : $(SRCdir)/atlbench.c
58
$(XCC) $(XCFLAGS) -c $(SRCdir)/atlbench.c
59
probe_pmake.o : $(SRCdir)/probe_pmake.c
60
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_pmake.c
61
probe_f2c.o : $(SRCdir)/probe_f2c.c
62
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_f2c.c
63
probe_comp.o : $(SRCdir)/probe_comp.c
64
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_comp.c
65
probe_arch.o : $(SRCdir)/probe_arch.c
66
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_arch.c
67
probe_vec.o : $(SRCdir)/probe_vec.c
68
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_vec.c
69
probe_asm.o : $(SRCdir)/probe_asm.c
70
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_asm.c
71
probe_OS.o : $(SRCdir)/probe_OS.c
72
$(XCC) $(XCFLAGS) -c $(SRCdir)/probe_OS.c
73
atlconf_misc.o : $(SRCdir)/atlconf_misc.c
74
$(XCC) $(XCFLAGS) -c $(SRCdir)/atlconf_misc.c
75
atlconf_misc_BE.o : $(SRCdir)/atlconf_misc.c
76
$(CC) $(CCFLAGS) -o atlconf_misc_BE.o -c $(SRCdir)/atlconf_misc.c
79
cd $(atldir) ; ./$(exe) $(args) > $(redir)
81
scp $(atldir)/$(exe) $(targ):$(rdir)/$(exe)
82
ssh $(targ) 'cd $(rdir) ; ./$(exe) $(args)' > $(redir)
86
# General probes always ran locally (possibly cross-compiling machine)
87
# General probes call system (they're essentially shell scripts)
89
IRun_comp: xprobe_comp force_build
91
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_comp args="$(args)" \
94
IRun_OS: xprobe_OS force_build
96
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_OS args="$(args)" \
99
IRun_pmake: xprobe_pmake force_build
101
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_pmake args="$(args)" \
104
IRun_arch: xprobe_arch force_build
106
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_arch args="$(args)" \
109
IRun_vec: xprobe_vec force_build
111
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_vec args="$(args)" \
114
IRun_asm: xprobe_asm force_build
116
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_asm args="$(args)" \
119
IRun_f2c: xprobe_f2c force_build
121
$(MAKE) atlas_run atldir=$(mydir) exe=xprobe_f2c args="$(args)" \
126
# Machine-level probes run on machine lib being compiled for
127
# These probes do not call system, but actually do something
130
$(CC) $(CCFLAGS) -o xprobe_3dnow $(SRCdir)/backend/probe_svec.c $(SRCdir)/backend/probe_3DNow.S
131
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_3dnow args="$(args)" \
135
$(CC) $(CCFLAGS) -o xprobe_altivec $(SRCdir)/backend/probe_svec.c $(SRCdir)/backend/probe_AltiVec.S
136
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_altivec args="$(args)" \
140
$(CC) $(CCFLAGS) -o xprobe_sse2 $(SRCdir)/backend/probe_dvec.c $(SRCdir)/backend/probe_SSE2.S
141
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_sse2 args="$(args)" \
145
$(CC) $(CCFLAGS) -o xprobe_sse1 $(SRCdir)/backend/probe_svec.c $(SRCdir)/backend/probe_SSE1.S
146
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_sse1 args="$(args)" \
150
$(CC) $(CCFLAGS) -o xprobe_sse3 $(SRCdir)/backend/probe_dSSE3.c $(SRCdir)/backend/probe_SSE3.S
151
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_sse3 args="$(args)" \
156
$(CC) $(CCFLAGS) -o xprobe_gas_sparc $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_sparc.S
157
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_sparc args="$(args)" \
161
$(CC) $(CCFLAGS) -o xprobe_gas_parisc $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_parisc.S
162
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_parisc args="$(args)" \
166
$(CC) $(CCFLAGS) -o xprobe_gas_ppc $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_ppc.S
167
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_ppc args="$(args)" \
171
$(CC) $(CCFLAGS) -o xprobe_gas_x8664 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_x8664.S
172
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_x8664 args="$(args)" \
176
$(CC) $(CCFLAGS) -o xprobe_gas_x8632 $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_x8632.S
177
$(MAKE) $(atlrun) atldir=$(mydir) exe=xprobe_gas_x8632 args="$(args)" \
182
- rm -f config0.out xc2c c2cslave.o
183
$(CC1) $(CC1FLAGS) -c $(SRCdir)/backend/c2cslave.c
184
$(CC) $(CCFLAGS) -o xc2c $(SRCdir)/backend/c2cmaster.c c2cslave.o
185
$(MAKE) $(atlrun) atldir=$(mydir) exe=xc2c args="$(args)" \
190
@ $(F77) $(F77FLAGS) -v -o xtst $(SRCdir)/backend/comptestF.f 2>&1 | \
191
fgrep -e '-L' > config0.out
195
@ - rm -f flibchk[F,C].o xflibchk
196
$(F77) $(F77FLAGS) -c $(SRCdir)/backend/flibchkF.f
197
$(CC) $(CCFLAGS) -o xflibchk $(SRCdir)/backend/flibchkC.c \
198
flibchkF.o -l $(F77LIB) $(LIBS)
200
- rm -f f2cstrF.o f2cstrC.o xfcstr config0.out
201
$(CC) $(CCFLAGS) -c $(SRCdir)/backend/f2cstrC.c
202
$(F77) $(F77FLAGS) -o xf2cstr $(SRCdir)/backend/f2cstrF.f \
204
$(MAKE) $(atlrun) atldir=$(mydir) exe=xf2cstr args="$(args)" \
208
- rm -f f2cintF.o f2cintC.o xfcint config0.out
209
$(CC) $(CCFLAGS) -c $(SRCdir)/backend/f2cintC.c
210
$(F77) $(F77FLAGS) -o xf2cint $(SRCdir)/backend/f2cintF.f \
212
$(MAKE) $(atlrun) atldir=$(mydir) exe=xf2cint args="$(args)" \
216
- rm -f f2cnameF.o f2cnameC.o xfcname config0.out
217
$(CC) $(CCFLAGS) -c $(SRCdir)/backend/f2cnameC.c
218
$(F77) $(F77FLAGS) -o xf2cname $(SRCdir)/backend/f2cnameF.f \
220
$(MAKE) $(atlrun) atldir=$(mydir) exe=xf2cname args="$(args)" \
224
- rm -f xf77test comptestF.o config0.out
225
$(F77) $(F77FLAGS) -o xf77test $(SRCdir)/backend/comptestF.f
226
$(MAKE) $(atlrun) atldir=$(mydir) exe=xf77test args="$(args)" \
230
- rm -f xctest comptestC.o config0.out
231
$(CC) $(CCFLAGS) -o xctest $(SRCdir)/backend/comptestC.c
232
$(MAKE) $(atlrun) atldir=$(mydir) exe=xctest args="$(args)" \
236
IRunArchInfo_aix: xarchinfo_aix
238
$(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_aix args="$(args)" \
241
IRunArchInfo_irix: xarchinfo_irix
243
$(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_irix args="$(args)" \
246
IRunArchInfo_sunos: xarchinfo_sunos
248
$(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_sunos args="$(args)" \
251
IRunArchInfo_freebsd: xarchinfo_freebsd
253
$(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_freebsd args="$(args)" \
256
IRunArchInfo_linux: xarchinfo_linux
258
$(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_linux args="$(args)" \
261
IRunArchInfo_x86: xarchinfo_x86
263
$(MAKE) $(atlrun) atldir=$(mydir) exe=xarchinfo_x86 args="$(args)" \
266
xarchinfo_x86: $(SRCdir)/backend/archinfo_x86.c $(SRCdir)/backend/cpuid.S
267
$(CC) $(CCFLAGS) -o xarchinfo_x86 $(SRCdir)/backend/archinfo_x86.c \
268
$(SRCdir)/backend/cpuid.S
269
xarchinfo_aix : $(SRCdir)/backend/archinfo_aix.c atlconf_misc_BE.o
270
$(CC) $(CCFLAGS) -o xarchinfo_aix $(SRCdir)/backend/archinfo_aix.c \
272
xarchinfo_irix : $(SRCdir)/backend/archinfo_irix.c atlconf_misc_BE.o
273
$(CC) $(CCFLAGS) -o xarchinfo_irix $(SRCdir)/backend/archinfo_irix.c \
275
xarchinfo_sunos : $(SRCdir)/backend/archinfo_sunos.c atlconf_misc_BE.o
276
$(CC) $(CCFLAGS) -o xarchinfo_sunos $(SRCdir)/backend/archinfo_sunos.c \
278
xarchinfo_freebsd : $(SRCdir)/backend/archinfo_freebsd.c atlconf_misc_BE.o
279
$(CC) $(CCFLAGS) -o xarchinfo_freebsd $(SRCdir)/backend/archinfo_freebsd.c \
281
xarchinfo_linux : $(SRCdir)/backend/archinfo_linux.c atlconf_misc_BE.o
282
$(CC) $(CCFLAGS) -o xarchinfo_linux $(SRCdir)/backend/archinfo_linux.c \
284
xprobe_parisc : $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_parisc.S
285
$(CC) $(CCFLAGS) -o xprobe_parisc $(SRCdir)/backend/probe_this_asm.c \
286
$(SRCdir)/backend/probe_gas_parisc.S
287
xprobe_sparc : $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_sparc.S
288
$(CC) $(CCFLAGS) -o xprobe_sparc $(SRCdir)/backend/probe_this_asm.c \
289
$(SRCdir)/backend/probe_gas_sparc.S
290
xprobe_ppc : $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_ppc.S
291
$(CC) $(CCFLAGS) -o xprobe_ppc $(SRCdir)/backend/probe_this_asm.c \
292
$(SRCdir)/backend/probe_gas_ppc.S
293
xprobe_x8632 : $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_x8632.S
294
$(CC) $(CCFLAGS) -o xprobe_x8632 $(SRCdir)/backend/probe_this_asm.c \
295
$(SRCdir)/backend/probe_gas_x8632.S
296
xprobe_x8684 : $(SRCdir)/backend/probe_this_asm.c $(SRCdir)/backend/probe_gas_x8684.S
297
$(CC) $(CCFLAGS) -o xprobe_x8684 $(SRCdir)/backend/probe_this_asm.c \
298
$(SRCdir)/backend/probe_gas_x8684.S
303
mkdir src bin tune interfaces
304
cd src ; mkdir testing auxil blas lapack pthreads
306
mkdir reference gemv ger gemm level1 level2 level3 pklevel3
307
cd src/blas/reference ; mkdir level1 level2 level3
308
cd src/blas/level2 ; mkdir kernel
309
cd src/blas/pklevel3 ; mkdir gpmm sprk
310
cd src/blas/level3 ; mkdir rblas kernel
311
cd src/pthreads ; mkdir blas misc
312
cd src/pthreads/blas ; mkdir level1 level2 level3
313
cd tune ; mkdir blas sysinfo
314
cd tune/blas ; mkdir gemm gemv ger level1 level3
315
cd interfaces ; mkdir blas lapack
316
cd interfaces/lapack ; mkdir C F77
317
cd interfaces/lapack/C ; mkdir src testing
318
cd interfaces/lapack/F77 ; mkdir src testing
319
cd interfaces/blas ; mkdir C F77
320
cd interfaces/blas/C ; mkdir src testing
321
cd interfaces/blas/F77 ; mkdir src testing
325
# Simple test returns error if directory doesn't exist
329
$(arch)_defs : $(SRCdir)/CONFIG/$(arch).tar.gz
330
$(GUNZIP) -c $(SRCdir)/CONFIG/$(ARCH).tar.gz | $(TAR) xvf -
332
$(MAKE) -f Make.top archdef
334
$(MAKE) -f Make.top time
336
$(MAKE) -f Make.top build
339
$(MAKE) -f Make.top error_report
341
$(MAKE) -f Make.top startup
343
$(MAKE) -f Make.top refresh
345
$(MAKE) -f Make.top kill
347
$(MAKE) -f Make.top killall
349
$(MAKE) -f Make.top C_sanity_test
351
$(MAKE) -f Make.top C_ptsanity_test
355
$(MAKE) -f Make.top sanity_test
357
$(MAKE) -f Make.top ptsanity_test
359
mkdir -p $(INCINSTdir)
360
chmod 0755 $(INCINSTdir)
361
$(INCINSTdir)/atlas :
362
mkdir -p $(INCINSTdir)/atlas
363
chmod 0755 $(INCINSTdir)/atlas
365
mkdir -p $(LIBINSTdir)
366
chmod 0755 $(LIBINSTdir)
367
install : $(INCINSTdir) $(LIBINSTdir) $(INCINSTdir)/atlas
368
$(MAKE) -f Make.top install_inc INSTdir=$(INCINSTdir)
369
$(MAKE) -f Make.top install_static_lib INSTdir=$(LIBINSTdir)
372
rm -f *core* *.o config?.out
374
rm -f *.o x* config?.out *core*
376
$(MAKE) -f Make.top clean