1#==================================================================================================
2#
3#  Makefile for the dmatdvecmult module of the Blaze test suite
4#
5#  Copyright (C) 2012-2020 Klaus Iglberger - All Rights Reserved - All Rights Reserved
6#
7#  This file is part of the Blaze library. You can redistribute it and/or modify it under
8#  the terms of the New (Revised) BSD License. Redistribution and use in source and binary
9#  forms, with or without modification, are permitted provided that the following conditions
10#  are met:
11#
12#  1. Redistributions of source code must retain the above copyright notice, this list of
13#     conditions and the following disclaimer.
14#  2. Redistributions in binary form must reproduce the above copyright notice, this list
15#     of conditions and the following disclaimer in the documentation and/or other materials
16#     provided with the distribution.
17#  3. Neither the names of the Blaze development group nor the names of its contributors
18#     may be used to endorse or promote products derived from this software without specific
19#     prior written permission.
20#
21#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
22#  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23#  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24#  SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25#  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
26#  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
27#  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29#  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
30#  DAMAGE.
31#
32#==================================================================================================
33
34
35# Including the compiler and library settings
36ifneq ($(MAKECMDGOALS),reset)
37ifneq ($(MAKECMDGOALS),clean)
38-include ../../../Makeconfig
39endif
40endif
41
42
43# Setting the source, object and dependency files
44SRC = $(wildcard ./*.cpp)
45DEP = $(SRC:.cpp=.d)
46OBJ = $(SRC:.cpp=.o)
47BIN = $(SRC:.cpp=)
48
49
50# General rules
51default: M3x3aV3a M3x3aV3b M3x3bV3a M3x3bV3b \
52         MHaVHa MHaVHb MHbVHa MHbVHb \
53         MDaVDa MDaVDb MDbVDa MDbVDb \
54         MUaVUa MUaVUb MUbVUa MUbVUb \
55         SDaVDa SDaVDb SDbVDa SDbVDb \
56         HDaVDa HDaVDb HDbVDa HDbVDb \
57         LDaVDa LDaVDb LDbVDa LDbVDb \
58         UDaVDa UDaVDb UDbVDa UDbVDb \
59         DDaVDa DDaVDb DDbVDa DDbVDb \
60         AliasingTest
61all: $(BIN)
62essential: M3x3aV3a MHaVHa MDaVDa MUaVUa SDaVDa HDaVDa LDaVDa UDaVDa DDaVDa AliasingTest
63single: MDaVDa
64
65
66# Build rules
67DDaVDa: LDaVDa.o
68	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
69DDaVDb: LDaVDb.o
70	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
71DDbVDa: LDbVDa.o
72	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
73DDbVDb: LDbVDb.o
74	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
75
76LDaVDa: LDaVDa.o
77	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
78LDaVDb: LDaVDb.o
79	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
80LDbVDa: LDbVDa.o
81	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
82LDbVDb: LDbVDb.o
83	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
84
85HDaVDa: HDaVDa.o
86	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
87HDaVDb: HDaVDb.o
88	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
89HDbVDa: HDbVDa.o
90	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
91HDbVDb: HDbVDb.o
92	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
93
94M2x2aV2a: M2x2aV2a.o
95	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
96M2x2aV2b: M2x2aV2b.o
97	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
98M2x2aVDa: M2x2aVDa.o
99	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
100M2x2aVDb: M2x2aVDb.o
101	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
102M2x2aVHa: M2x2aVHa.o
103	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
104M2x2aVHb: M2x2aVHb.o
105	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
106M2x2aVUa: M2x2aVUa.o
107	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
108M2x2aVUb: M2x2aVUb.o
109	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
110M2x2bV2a: M2x2bV2a.o
111	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
112M2x2bV2b: M2x2bV2b.o
113	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
114M2x2bVDa: M2x2bVDa.o
115	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
116M2x2bVDb: M2x2bVDb.o
117	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
118M2x2bVHa: M2x2bVHa.o
119	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
120M2x2bVHb: M2x2bVHb.o
121	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
122M2x2bVUa: M2x2bVUa.o
123	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
124M2x2bVUb: M2x2bVUb.o
125	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
126
127M3x3aV3a: M3x3aV3a.o
128	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
129M3x3aV3b: M3x3aV3b.o
130	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
131M3x3aVDa: M3x3aVDa.o
132	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
133M3x3aVDb: M3x3aVDb.o
134	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
135M3x3aVHa: M3x3aVHa.o
136	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
137M3x3aVHb: M3x3aVHb.o
138	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
139M3x3aVUa: M3x3aVUa.o
140	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
141M3x3aVUb: M3x3aVUb.o
142	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
143M3x3bV3a: M3x3bV3a.o
144	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
145M3x3bV3b: M3x3bV3b.o
146	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
147M3x3bVDa: M3x3bVDa.o
148	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
149M3x3bVDb: M3x3bVDb.o
150	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
151M3x3bVHa: M3x3bVHa.o
152	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
153M3x3bVHb: M3x3bVHb.o
154	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
155M3x3bVUa: M3x3bVUa.o
156	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
157M3x3bVUb: M3x3bVUb.o
158	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
159
160M4x4aV4a: M4x4aV4a.o
161	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
162M4x4aV4b: M4x4aV4b.o
163	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
164M4x4aVDa: M4x4aVDa.o
165	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
166M4x4aVDb: M4x4aVDb.o
167	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
168M4x4aVHa: M4x4aVHa.o
169	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
170M4x4aVHb: M4x4aVHb.o
171	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
172M4x4aVUa: M4x4aVUa.o
173	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
174M4x4aVUb: M4x4aVUb.o
175	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
176M4x4bV4a: M4x4bV4a.o
177	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
178M4x4bV4b: M4x4bV4b.o
179	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
180M4x4bVDa: M4x4bVDa.o
181	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
182M4x4bVDb: M4x4bVDb.o
183	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
184M4x4bVHa: M4x4bVHa.o
185	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
186M4x4bVHb: M4x4bVHb.o
187	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
188M4x4bVUa: M4x4bVUa.o
189	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
190M4x4bVUb: M4x4bVUb.o
191	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
192
193M5x5aV5a: M5x5aV5a.o
194	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
195M5x5aV5b: M5x5aV5b.o
196	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
197M5x5aVDa: M5x5aVDa.o
198	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
199M5x5aVDb: M5x5aVDb.o
200	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
201M5x5aVHa: M5x5aVHa.o
202	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
203M5x5aVHb: M5x5aVHb.o
204	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
205M5x5aVUa: M5x5aVUa.o
206	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
207M5x5aVUb: M5x5aVUb.o
208	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
209M5x5bV5a: M5x5bV5a.o
210	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
211M5x5bV5b: M5x5bV5b.o
212	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
213M5x5bVDa: M5x5bVDa.o
214	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
215M5x5bVDb: M5x5bVDb.o
216	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
217M5x5bVHa: M5x5bVHa.o
218	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
219M5x5bVHb: M5x5bVHb.o
220	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
221M5x5bVUa: M5x5bVUa.o
222	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
223M5x5bVUb: M5x5bVUb.o
224	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
225
226M6x6aV6a: M6x6aV6a.o
227	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
228M6x6aV6b: M6x6aV6b.o
229	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
230M6x6aVDa: M6x6aVDa.o
231	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
232M6x6aVDb: M6x6aVDb.o
233	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
234M6x6aVHa: M6x6aVHa.o
235	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
236M6x6aVHb: M6x6aVHb.o
237	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
238M6x6aVUa: M6x6aVUa.o
239	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
240M6x6aVUb: M6x6aVUb.o
241	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
242M6x6bV6a: M6x6bV6a.o
243	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
244M6x6bV6b: M6x6bV6b.o
245	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
246M6x6bVDa: M6x6bVDa.o
247	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
248M6x6bVDb: M6x6bVDb.o
249	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
250M6x6bVHa: M6x6bVHa.o
251	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
252M6x6bVHb: M6x6bVHb.o
253	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
254M6x6bVUa: M6x6bVUa.o
255	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
256M6x6bVUb: M6x6bVUb.o
257	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
258
259M7x13aV13a: M7x13aV13a.o
260	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
261M7x13aV13b: M7x13aV13b.o
262	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
263M7x13aVDa: M7x13aVDa.o
264	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
265M7x13aVDb: M7x13aVDb.o
266	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
267M7x13aVHa: M7x13aVHa.o
268	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
269M7x13aVHb: M7x13aVHb.o
270	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
271M7x13aVUa: M7x13aVUa.o
272	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
273M7x13aVUb: M7x13aVUb.o
274	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
275M7x13bV13a: M7x13bV13a.o
276	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
277M7x13bV13b: M7x13bV13b.o
278	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
279M7x13bVDa: M7x13bVDa.o
280	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
281M7x13bVDb: M7x13bVDb.o
282	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
283M7x13bVHa: M7x13bVHa.o
284	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
285M7x13bVHb: M7x13bVHb.o
286	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
287M7x13bVUa: M7x13bVUa.o
288	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
289M7x13bVUb: M7x13bVUb.o
290	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
291
292M16x8aV8a: M16x8aV8a.o
293	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
294M16x8aV8b: M16x8aV8b.o
295	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
296M16x8aVDa: M16x8aVDa.o
297	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
298M16x8aVDb: M16x8aVDb.o
299	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
300M16x8aVHa: M16x8aVHa.o
301	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
302M16x8aVHb: M16x8aVHb.o
303	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
304M16x8aVUa: M16x8aVUa.o
305	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
306M16x8aVUb: M16x8aVUb.o
307	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
308M16x8bV8a: M16x8bV8a.o
309	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
310M16x8bV8b: M16x8bV8b.o
311	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
312M16x8bVDa: M16x8bVDa.o
313	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
314M16x8bVDb: M16x8bVDb.o
315	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
316M16x8bVHa: M16x8bVHa.o
317	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
318M16x8bVHb: M16x8bVHb.o
319	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
320M16x8bVUa: M16x8bVUa.o
321	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
322M16x8bVUb: M16x8bVUb.o
323	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
324
325MDaV2a: MDaV2a.o
326	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
327MDaV2b: MDaV2b.o
328	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
329MDaV3a: MDaV3a.o
330	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
331MDaV3b: MDaV3b.o
332	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
333MDaV4a: MDaV4a.o
334	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
335MDaV4b: MDaV4b.o
336	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
337MDaV5a: MDaV5a.o
338	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
339MDaV5b: MDaV5b.o
340	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
341MDaV6a: MDaV6a.o
342	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
343MDaV6b: MDaV6b.o
344	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
345MDaVDa: MDaVDa.o
346	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
347MDaVDb: MDaVDb.o
348	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
349MDaVHa: MDaVHa.o
350	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
351MDaVHb: MDaVHb.o
352	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
353MDaVUa: MDaVUa.o
354	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
355MDaVUb: MDaVUb.o
356	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
357MDbV2a: MDbV2a.o
358	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
359MDbV2b: MDbV2b.o
360	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
361MDbV3a: MDbV3a.o
362	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
363MDbV3b: MDbV3b.o
364	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
365MDbV4a: MDbV4a.o
366	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
367MDbV4b: MDbV4b.o
368	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
369MDbV5a: MDbV5a.o
370	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
371MDbV5b: MDbV5b.o
372	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
373MDbV6a: MDbV6a.o
374	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
375MDbV6b: MDbV6b.o
376	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
377MDbVDa: MDbVDa.o
378	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
379MDbVDb: MDbVDb.o
380	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
381MDbVHa: MDbVHa.o
382	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
383MDbVHb: MDbVHb.o
384	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
385MDbVUa: MDbVUa.o
386	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
387MDbVUb: MDbVUb.o
388	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
389
390MHaV6a: MHaV6a.o
391	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
392MHaV6b: MHaV6b.o
393	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
394MHaVDa: MHaVDa.o
395	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
396MHaVDb: MHaVDb.o
397	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
398MHaVHa: MHaVHa.o
399	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
400MHaVHb: MHaVHb.o
401	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
402MHaVUa: MHaVUa.o
403	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
404MHaVUb: MHaVUb.o
405	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
406MHbV6a: MHbV6a.o
407	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
408MHbV6b: MHbV6b.o
409	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
410MHbVDa: MHbVDa.o
411	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
412MHbVDb: MHbVDb.o
413	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
414MHbVHa: MHbVHa.o
415	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
416MHbVHb: MHbVHb.o
417	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
418MHbVUa: MHbVUa.o
419	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
420MHbVUb: MHbVUb.o
421	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
422
423MUaV6a: MUaV6a.o
424	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
425MUaV6b: MUaV6b.o
426	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
427MUaVDa: MUaVDa.o
428	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
429MUaVDb: MUaVDb.o
430	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
431MUaVHa: MUaVHa.o
432	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
433MUaVHb: MUaVHb.o
434	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
435MUaVUa: MUaVUa.o
436	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
437MUaVUb: MUaVUb.o
438	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
439MUbV6a: MUbV6a.o
440	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
441MUbV6b: MUbV6b.o
442	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
443MUbVDa: MUbVDa.o
444	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
445MUbVDb: MUbVDb.o
446	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
447MUbVHa: MUbVHa.o
448	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
449MUbVHb: MUbVHb.o
450	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
451MUbVUa: MUbVUa.o
452	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
453MUbVUb: MUbVUb.o
454	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
455
456SDaVDa: SDaVDa.o
457	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
458SDaVDb: SDaVDb.o
459	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
460SDbVDa: SDbVDa.o
461	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
462SDbVDb: SDbVDb.o
463	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
464
465SLDaVDa: SLDaVDa.o
466	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
467SLDaVDb: SLDaVDb.o
468	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
469SLDbVDa: SLDbVDa.o
470	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
471SLDbVDb: SLDbVDb.o
472	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
473
474SUDaVDa: SUDaVDa.o
475	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
476SUDaVDb: SUDaVDb.o
477	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
478SUDbVDa: SUDbVDa.o
479	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
480SUDbVDb: SUDbVDb.o
481	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
482
483UDaVDa: UDaVDa.o
484	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
485UDaVDb: UDaVDb.o
486	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
487UDbVDa: UDbVDa.o
488	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
489UDbVDb: UDbVDb.o
490	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
491
492AliasingTest: AliasingTest.o
493	@$(CXX) $(CXXFLAGS) -o $@ $< $(LIBRARIES)
494
495
496# Cleanup
497reset:
498	@$(RM) $(OBJ) $(BIN)
499clean:
500	@$(RM) $(OBJ) $(BIN) $(DEP)
501
502
503# Makefile includes
504ifneq ($(MAKECMDGOALS),reset)
505ifneq ($(MAKECMDGOALS),clean)
506-include $(DEP)
507endif
508endif
509
510
511# Makefile generation
512%.d: %.cpp
513	@$(CXX) -MM -MP -MT "$*.o $*.d" -MF $@ $(CXXFLAGS) $<
514
515
516# Setting the independent commands
517.PHONY: default all essential single reset clean
518