1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# Make the VOPS vector operators library.
$checkout libvops.a lib$
$update libvops.a
$checkin libvops.a lib$
$exit
# Since all of the VOPS procedures in this directory are generic, no actual
# compilation occurs here (except for the two fft routines, which are type
# real only). The generic preprocessor is called to generate the type
# specific family of operators for each generic procedure, placing the output
# files in the subdirectories ak and lz. Since the preprocessed sources are
# permanently kept in the subdirectories, the generic preprocessor is only
# required on the UNIX development system, although it may be available on
# any other system as well.
tfiles:
$set GA = "$$generic -k -p ak/"
$set GL = "$$generic -k -p lz/"
$set ACHT = "achtc.x achts.x achti.x achtl.x achtr.x achtd.x achtx.x"
# The acht (change type) procedures are doubly generic and must be
# expanded twice, producing 7*7=49 files as output.
#
# We force this to be regenerated on each platform since there are
# differences in the generated code between 32 and 64-bit platforms.
$generic -k -t csilrdx acht.gx
$generic -k -p ak/ -t csilrdx $(ACHT)
$delete $(ACHT)
# The following files are not generic hence are merely copied to the
# type specific directory.
$ifolder (ak/acjgx.x, acjgx.x ) $copy acjgx.x ak/acjgx.x $endif
$ifolder (ak/afftrr.x, afftrr.x) $copy afftrr.x ak/afftrr.x $endif
$ifolder (ak/afftrx.x, afftrx.x) $copy afftrx.x ak/afftrx.x $endif
$ifolder (ak/afftxr.x, afftxr.x) $copy afftxr.x ak/afftxr.x $endif
$ifolder (ak/afftxx.x, afftxx.x) $copy afftxx.x ak/afftxx.x $endif
$ifolder (ak/aiftrr.x, aiftrr.x) $copy aiftrr.x ak/aiftrr.x $endif
$ifolder (ak/aiftrx.x, aiftrx.x) $copy aiftrx.x ak/aiftrx.x $endif
$ifolder (ak/aiftxr.x, aiftxr.x) $copy aiftxr.x ak/aiftxr.x $endif
$ifolder (ak/aiftxx.x, aiftxx.x) $copy aiftxx.x ak/aiftxx.x $endif
# Each of the following generic files is expanded for each of the
# datatypes listed in the -t flag.
$ifolder (ak/aabsi.x, aabs.gx ) $(GA) -t silrdx aabs.gx $endif
$ifolder (ak/aaddi.x, aadd.gx ) $(GA) -t silrdx aadd.gx $endif
$ifolder (ak/aaddki.x, aaddk.gx) $(GA) -t silrdx aaddk.gx $endif
$ifolder (ak/aandi.x, aand.gx ) $(GA) -t sil aand.gx $endif
$ifolder (ak/aandki.x, aandk.gx) $(GA) -t sil aandk.gx $endif
$ifolder (ak/aavgi.x, aavg.gx ) $(GA) -t silrdx aavg.gx $endif
$ifolder (ak/abavi.x, abav.gx ) $(GA) -t silrdx abav.gx $endif
$ifolder (ak/absui.x, absu.gx ) $(GA) -t silrd absu.gx $endif
$ifolder (ak/abeqi.x, abeq.gx ) $(GA) -t csilrdx abeq.gx $endif
$ifolder (ak/abeqki.x, abeqk.gx) $(GA) -t csilrdx abeqk.gx $endif
$ifolder (ak/abgei.x, abge.gx ) $(GA) -t csilrdx abge.gx $endif
$ifolder (ak/abgeki.x, abgek.gx) $(GA) -t csilrdx abgek.gx $endif
$ifolder (ak/abgti.x, abgt.gx ) $(GA) -t csilrdx abgt.gx $endif
$ifolder (ak/abgtki.x, abgtk.gx) $(GA) -t csilrdx abgtk.gx $endif
$ifolder (ak/ablei.x, able.gx ) $(GA) -t csilrdx able.gx $endif
$ifolder (ak/ableki.x, ablek.gx) $(GA) -t csilrdx ablek.gx $endif
$ifolder (ak/ablti.x, ablt.gx ) $(GA) -t csilrdx ablt.gx $endif
$ifolder (ak/abltki.x, abltk.gx) $(GA) -t csilrdx abltk.gx $endif
$ifolder (ak/abnei.x, abne.gx ) $(GA) -t csilrdx abne.gx $endif
$ifolder (ak/abneki.x, abnek.gx) $(GA) -t csilrdx abnek.gx $endif
$ifolder (ak/abori.x, abor.gx ) $(GA) -t sil abor.gx $endif
$ifolder (ak/aborki.x, abork.gx) $(GA) -t sil abork.gx $endif
$ifolder (ak/aclri.x, aclr.gx ) $(GA) -t csilrdx aclr.gx $endif
$ifolder (ak/acnvi.x, acnv.gx ) $(GA) -t silrd acnv.gx $endif
$ifolder (ak/acnvri.x, acnvr.gx) $(GA) -t silrd acnvr.gx $endif
$ifolder (ak/adivi.x, adiv.gx ) $(GA) -t silrdx adiv.gx $endif
$ifolder (ak/adivki.x, adivk.gx) $(GA) -t silrdx adivk.gx $endif
$ifolder (ak/adoti.x, adot.gx ) $(GA) -t silrdx adot.gx $endif
$ifolder (ak/advzi.x, advz.gx ) $(GA) -t silrdx advz.gx $endif
$ifolder (ak/aexpi.x, aexp.gx ) $(GA) -t silrdx aexp.gx $endif
$ifolder (ak/aexpki.x, aexpk.gx) $(GA) -t silrdx aexpk.gx $endif
$ifolder (ak/aglti.x, aglt.gx ) $(GA) -t csilrdx aglt.gx $endif
$ifolder (ak/ahgmi.x, ahgm.gx ) $(GA) -t csilrd ahgm.gx $endif
$ifolder (ak/ahivi.x, ahiv.gx ) $(GA) -t csilrdx ahiv.gx $endif
$ifolder (ak/aimgi.x, aimg.gx ) $(GA) -t silrd aimg.gx $endif
$ifolder (lz/alani.x, alan.gx ) $(GL) -t sil alan.gx $endif
$ifolder (lz/alanki.x, alank.gx) $(GL) -t sil alank.gx $endif
$ifolder (lz/alimi.x, alim.gx ) $(GL) -t csilrdx alim.gx $endif
$ifolder (lz/allni.x, alln.gx ) $(GL) -t silrdx alln.gx $endif
$ifolder (lz/alogi.x, alog.gx ) $(GL) -t silrdx alog.gx $endif
$ifolder (lz/alori.x, alor.gx ) $(GL) -t sil alor.gx $endif
$ifolder (lz/alorki.x, alork.gx) $(GL) -t sil alork.gx $endif
$ifolder (lz/alovi.x, alov.gx ) $(GL) -t csilrdx alov.gx $endif
$ifolder (lz/altai.x, alta.gx ) $(GL) -t silrdx alta.gx $endif
$ifolder (lz/altmi.x, altm.gx ) $(GL) -t silrdx altm.gx $endif
$ifolder (lz/altri.x, altr.gx ) $(GL) -t silrdx altr.gx $endif
$ifolder (lz/aluii.x, alui.gx ) $(GL) -t silrd alui.gx $endif
$ifolder (lz/aluti.x, alut.gx ) $(GL) -t csilrd alut.gx $endif
$ifolder (lz/amagi.x, amag.gx ) $(GL) -t silrdx amag.gx $endif
$ifolder (lz/amapi.x, amap.gx ) $(GL) -t silrd amap.gx $endif
$ifolder (lz/amaxi.x, amax.gx ) $(GL) -t csilrdx amax.gx $endif
$ifolder (lz/amaxki.x, amaxk.gx) $(GL) -t csilrdx amaxk.gx $endif
$ifolder (lz/amedi.x, amed.gx ) $(GL) -t csilrdx amed.gx $endif
$ifolder (lz/amed3i.x, amed3.gx) $(GL) -t csilrd amed3.gx $endif
$ifolder (lz/amed4i.x, amed4.gx) $(GL) -t csilrd amed4.gx $endif
$ifolder (lz/amed5i.x, amed5.gx) $(GL) -t csilrd amed5.gx $endif
$ifolder (lz/amgsi.x, amgs.gx ) $(GL) -t silrdx amgs.gx $endif
$ifolder (lz/amini.x, amin.gx ) $(GL) -t csilrdx amin.gx $endif
$ifolder (lz/aminki.x, amink.gx) $(GL) -t csilrdx amink.gx $endif
$ifolder (lz/amodi.x, amod.gx ) $(GL) -t silrd amod.gx $endif
$ifolder (lz/amodki.x, amodk.gx) $(GL) -t silrd amodk.gx $endif
$ifolder (lz/amovi.x, amov.gx ) $(GL) -t csilrdx amov.gx $endif
$ifolder (lz/amovki.x, amovk.gx) $(GL) -t csilrdx amovk.gx $endif
$ifolder (lz/amuli.x, amul.gx ) $(GL) -t silrdx amul.gx $endif
$ifolder (lz/amulki.x, amulk.gx) $(GL) -t silrdx amulk.gx $endif
$ifolder (lz/anegi.x, aneg.gx ) $(GL) -t silrdx aneg.gx $endif
$ifolder (lz/anoti.x, anot.gx ) $(GL) -t sil anot.gx $endif
$ifolder (lz/apkxi.x, apkx.gx ) $(GL) -t silrdx apkx.gx $endif
$ifolder (lz/apolr.x, apol.gx ) $(GL) -t rd apol.gx $endif
$ifolder (lz/apowi.x, apow.gx ) $(GL) -t silrdx apow.gx $endif
$ifolder (lz/apowki.x, apowk.gx) $(GL) -t silrdx apowk.gx $endif
$ifolder (lz/aravi.x, arav.gx ) $(GL) -t silrdx arav.gx $endif
$ifolder (lz/arcpi.x, arcp.gx ) $(GL) -t silrdx arcp.gx $endif
$ifolder (lz/arczi.x, arcz.gx ) $(GL) -t silrdx arcz.gx $endif
$ifolder (lz/argti.x, argt.gx ) $(GL) -t silrdx argt.gx $endif
$ifolder (lz/arlti.x, arlt.gx ) $(GL) -t silrdx arlt.gx $endif
$ifolder (lz/aseli.x, asel.gx ) $(GL) -t csilrdx asel.gx $endif
$ifolder (lz/aselki.x, aselk.gx) $(GL) -t csilrdx aselk.gx $endif
$ifolder (lz/asoki.x, asok.gx ) $(GL) -t csilrdx asok.gx $endif
$ifolder (lz/asqri.x, asqr.gx ) $(GL) -t silrdx asqr.gx $endif
$ifolder (lz/asrti.x, asrt.gx ) $(GL) -t csilrdx asrt.gx $endif
$ifolder (lz/assqi.x, assq.gx ) $(GL) -t silrdx assq.gx $endif
$ifolder (lz/asubi.x, asub.gx ) $(GL) -t silrdx asub.gx $endif
$ifolder (lz/asubki.x, asubk.gx) $(GL) -t silrdx asubk.gx $endif
$ifolder (lz/asumi.x, asum.gx ) $(GL) -t silrdx asum.gx $endif
$ifolder (lz/aupxi.x, aupx.gx ) $(GL) -t silrdx aupx.gx $endif
$ifolder (lz/aveqi.x, aveq.gx ) $(GL) -t csilrdx aveq.gx $endif
$ifolder (lz/awsui.x, awsu.gx ) $(GL) -t silrdx awsu.gx $endif
$ifolder (lz/awvgi.x, awvg.gx ) $(GL) -t silrdx awvg.gx $endif
$ifolder (lz/axori.x, axor.gx ) $(GL) -t sil axor.gx $endif
$ifolder (lz/axorki.x, axork.gx) $(GL) -t sil axork.gx $endif
;
libvops.a:
$ifeq (USE_GENERIC, yes) $call tfiles $endif
$set XFLAGS = "$(XVFLAGS)"
@ak
@lz
@achtgen # acht conversion matrix
fftr.f
fftx.f
;
|