Newer
Older
# Mondriaan Tests Makefile
include ../mondriaan.mk
#scrap default rule:
% :: %.c ;
#targets
TESTTARGETS:=test_QSort test_CSort test_quicksort \
test_RandomPermute test_Random1 test_SetRandomSeed test_SwapLong \
test_SwapDouble test_BucketInsert test_BucketMove \
test_BucketDeleteMax test_GainBucketGetMaxVal test_ClearGainBucket \
test_InitNprocs test_InitProcindex test_InitIntersection \
test_FindProcLowestSum test_AssignColumnToProc test_RemoveColumnFromProc \
test_AssignRemainingColumns test_AssignRemainingNonemptyColumns \
test_CalcCom test_CalcLocalLowerBound test_matallocl test_matfreel \
test_FirstNzInRow test_DistributeVecOpt2 test_DistributeVecLocal \
test_PrintVecLocalStatistics test_PrintVecStatistics test_PrintHistogram \
test_PrintCom test_WriteVectorDistribution \
test_DistributeVecGreedyImprove test_InitSums test_GenerateHistogram \
test_DistributeVecOrig test_DistributeVecOrigEq test_DistributeVec \
test_BalanceParts test_DetermineSplit test_logb2 \
test_ComputeWeight test_SplitMatrixSimple test_SplitMatrixKLFM \
test_SplitMatrixUpperBound test_DistributeMatrixMondriaan \
test_CreateNewBiPartHyperGraph test_DeleteBiPartHyperGraph \
test_SparseMatrix2BiPartHyperGraph test_BiPartHyperGraph2SparseMatrix \
test_SparseMatrixSymmetric2Full test_SparseMatrixFull2Symmetric \
test_SparseMatrixSymmetricLower2Random test_SparseMatrixSymmetricRandom2Lower \
test_AddDummiesToSparseMatrix test_RemoveDummiesFromSparseMatrix \
test_MMSparseMatrixInit test_MMDeleteSparseMatrix test_MMSparseMatrixAllocateMemory \
test_MMSparseMatrixFreeMemory test_MMSparseMatrixReadEntries \
test_MMSparseMatrixReadPstart test_MMSparseMatrixReadWeights \
test_MMSparseMatrixReadTail test_MMSparseMatrixReadHeader \
test_MMSparseMatrixPrintHeader test_MMSparseMatrixPrintTail \
test_MMSparseMatrixPrintPstart test_MMSparseMatrixPrintWeights \
test_MMSparseMatrixPrintEntries test_MMWriteSparseMatrix \
test_MMSparseMatrixGetTypeCode test_MMSparseMatrixSetTypeCode \
test_SpMatValuesToProcessorIndices test_SpMatSortNonzeros \
test_SpMatReadIndexAndValueMatrixFiles \
test_MMReadSparseMatrix test_SparseMatrixRemoveDuplicates \
test_SparseMatrixStructurallySymmetric test_CRS2CCS \
test_MMWriteCartesianSubmatrices test_GetParameters test_SetDefaultOptions \
test_SetOption test_PrintHelp test_MoveVtxInNetAdjncy \
test_FindMatchArbitrary test_FindMatchInprod \
test_CreateInitialBalancedPartition test_ComputeInitialGains \
test_ClearMoveLog test_MoveVertex test_UpdateGains test_HKLFM test_RunHKLFM \
test_LambdaLambdaMinusOneMetric \
test_FindOptimalPathMatching \
test_MatchATA \
test_CoarsenGraph test_RunMLGraphPart \
test_SparseMatrixToCRS_CCS test_DetectConnectedComponents \
test_Heap test_TwoColorTree test_SubsetSum test_ZeroVolumeSearch \
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
.SECONDARY: ${TESTTARGETS:%=%.o}
test: ../tools/Mondriaan ${TESTTARGETS}
./runtest
all: test
build: ../tools/Mondriaan ${TESTTARGETS}
../tools/Mondriaan:
%.target: ${OBJDEPS}
${CC} ${CFLAGS} -o ${@:%.target=%} ${OBJDEPS} ${LIBS}
%.o: %.c %.h
${CC} ${CFLAGS} -c -o $@ ${filter %.c,$^}
%.o: %.c
${CC} ${CFLAGS} -c -o $@ $^
test_MoveVtxInNetAdjncy: test_MoveVtxInNetAdjncy.o ${GRAPH:%=%.o} ${MATCH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_FindMatchArbitrary: test_FindMatchArbitrary.o ${GRAPH:%=%.o} ${MATCH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_FindMatchInprod: test_FindMatchInprod.o ${GRAPH:%=%.o} ${MATCH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CreateInitialBalancedPartition: test_CreateInitialBalancedPartition.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_ComputeInitialGains: test_ComputeInitialGains.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_HKLFM: test_HKLFM.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_RunHKLFM: test_RunHKLFM.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CoarsenGraph: test_CoarsenGraph.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_RunMLGraphPart: test_RunMLGraphPart.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_UpdateGains: test_UpdateGains.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MoveVertex: test_MoveVertex.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_ClearMoveLog: test_ClearMoveLog.o ${GRAPH:%=%.o} ${MATCH:%=%.o} ${HKLFM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_QSort: test_QSort.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_quicksort: test_quicksort.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CSort: test_CSort.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_RandomPermute: test_RandomPermute.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_Random1: test_Random1.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SetRandomSeed: test_SetRandomSeed.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SwapLong: test_SwapLong.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SwapDouble: test_SwapDouble.o ${SORT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_BucketInsert: test_BucketInsert.o ${GAINBUCKET:%=%.o} ${IO:%=%.o}
make -r OBJDEPS='$^' $@.target
test_BucketMove: test_BucketMove.o ${GAINBUCKET:%=%.o} ${IO:%=%.o}
make -r OBJDEPS='$^' $@.target
test_BucketDeleteMax: test_BucketDeleteMax.o ${GAINBUCKET:%=%.o} ${IO:%=%.o}
make -r OBJDEPS='$^' $@.target
test_GainBucketGetMaxVal: test_GainBucketGetMaxVal.o ${GAINBUCKET:%=%.o} ${IO:%=%.o}
make -r OBJDEPS='$^' $@.target
test_ClearGainBucket: test_ClearGainBucket.o ${GAINBUCKET:%=%.o} ${IO:%=%.o}
make -r OBJDEPS='$^' $@.target
test_InitNprocs: test_InitNprocs.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_InitProcindex: test_InitProcindex.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_InitIntersection: test_InitIntersection.o ${DISTRIBUTEVECORIGEQ:%=%.o}
make -r OBJDEPS='$^' $@.target
test_FindProcLowestSum: test_FindProcLowestSum.o ${DISTRIBUTEVECORIGEQ:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DistributeVecOrigEq: test_DistributeVecOrigEq.o ${DISTRIBUTEVECORIGEQ:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DistributeVec: test_DistributeVec.o ${DISTRIBUTEVEC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_AssignColumnToProc: test_AssignColumnToProc.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_RemoveColumnFromProc: test_RemoveColumnFromProc.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_AssignRemainingColumns: test_AssignRemainingColumns.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_AssignRemainingNonemptyColumns: test_AssignRemainingNonemptyColumns.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CalcCom: test_CalcCom.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CalcLocalLowerBound: test_CalcLocalLowerBound.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_matallocl: test_matallocl.o ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_matfreel: test_matfreel.o ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_FirstNzInRow: test_FirstNzInRow.o ${MATALLOC:%=%.o} ${DISTRIBUTEVECOPT2:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DistributeVecOpt2: test_DistributeVecOpt2.o ${MATALLOC:%=%.o} ${DISTRIBUTEVECOPT2:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DistributeVecLocal: test_DistributeVecLocal.o ${DISTRIBUTEVECLOCAL:%=%.o}
make -r OBJDEPS='$^' $@.target
test_PrintVecLocalStatistics: test_PrintVecLocalStatistics.o ${DISTRIBUTEVECLOCAL:%=%.o}
make -r OBJDEPS='$^' $@.target
test_PrintVecStatistics: test_PrintVecStatistics.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_PrintHistogram: test_PrintHistogram.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_PrintCom: test_PrintCom.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_WriteVectorDistribution: test_WriteVectorDistribution.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DistributeVecGreedyImprove: test_DistributeVecGreedyImprove.o ${DISTRIBUTEVECGREEDY:%=%.o}
make -r OBJDEPS='$^' $@.target
test_InitSums: test_InitSums.o ${DISTRIBUTEVECLIB:%=%.o} ${DISTRIBUTEVECORIG:%=%.o}
make -r OBJDEPS='$^' $@.target
test_GenerateHistogram: test_GenerateHistogram.o ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DistributeVecOrig: test_DistributeVecOrig.o ${DISTRIBUTEVECORIG:%=%.o}
make -r OBJDEPS='$^' $@.target
test_BalanceParts: test_BalanceParts.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DetermineSplit: test_DetermineSplit.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_logb2: test_logb2.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_ComputeWeight: test_ComputeWeight.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SplitMatrixSimple: test_SplitMatrixSimple.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SplitMatrixKLFM: test_SplitMatrixKLFM.o ${DISTRIBUTEMAT:%=%.o} ${DISTRIBUTEVECLIB:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SplitMatrixUpperBound: test_SplitMatrixUpperBound.o testHelper_DisconnectedMatrix.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
test_DistributeMatrixMondriaan: test_DistributeMatrixMondriaan.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_LambdaLambdaMinusOneMetric: test_LambdaLambdaMinusOneMetric.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_FindOptimalPathMatching: test_FindOptimalPathMatching.o ${DISTRIBUTEMAT:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MatchATA: test_MatchATA.o ${SPARSEMATRIX:%=%.o} ${GRAPH:%=%.0} ${MATCH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CreateNewBiPartHyperGraph: test_CreateNewBiPartHyperGraph.o ${GRAPH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DeleteBiPartHyperGraph: test_DeleteBiPartHyperGraph.o ${GRAPH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SparseMatrix2BiPartHyperGraph: test_SparseMatrix2BiPartHyperGraph.o ${GRAPH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_BiPartHyperGraph2SparseMatrix: test_BiPartHyperGraph2SparseMatrix.o ${GRAPH:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SparseMatrixSymmetric2Full: test_SparseMatrixSymmetric2Full.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SparseMatrixFull2Symmetric: test_SparseMatrixFull2Symmetric.o ${SPARSEMATRIX:%=%.o}
make -r OBJDEPS='$^' $@.target
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
test_SparseMatrixSymmetricLower2Random: test_SparseMatrixSymmetricLower2Random.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SparseMatrixSymmetricRandom2Lower: test_SparseMatrixSymmetricRandom2Lower.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_AddDummiesToSparseMatrix: test_AddDummiesToSparseMatrix.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_RemoveDummiesFromSparseMatrix: test_RemoveDummiesFromSparseMatrix.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixInit: test_MMSparseMatrixInit.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMDeleteSparseMatrix: test_MMDeleteSparseMatrix.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixAllocateMemory: test_MMSparseMatrixAllocateMemory.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixFreeMemory: test_MMSparseMatrixFreeMemory.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixReadEntries: test_MMSparseMatrixReadEntries.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixReadPstart: test_MMSparseMatrixReadPstart.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixReadWeights: test_MMSparseMatrixReadWeights.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixReadTail: test_MMSparseMatrixReadTail.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixReadHeader: test_MMSparseMatrixReadHeader.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMReadSparseMatrix: test_MMReadSparseMatrix.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixPrintHeader: test_MMSparseMatrixPrintHeader.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixPrintTail: test_MMSparseMatrixPrintTail.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixPrintPstart: test_MMSparseMatrixPrintPstart.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixPrintWeights: test_MMSparseMatrixPrintWeights.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixPrintEntries: test_MMSparseMatrixPrintEntries.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMWriteSparseMatrix: test_MMWriteSparseMatrix.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixGetTypeCode: test_MMSparseMatrixGetTypeCode.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMSparseMatrixSetTypeCode: test_MMSparseMatrixSetTypeCode.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SpMatValuesToProcessorIndices: test_SpMatValuesToProcessorIndices.o ${SPARSEMATRIX:%=%.o}
Marco van Oort
committed
make -r OBJDEPS='$^' $@.target
test_SpMatSortNonzeros: test_SpMatSortNonzeros.o ${SPARSEMATRIX:%=%.o}
Marco van Oort
committed
make -r OBJDEPS='$^' $@.target
test_SpMatReadIndexAndValueMatrixFiles: test_SpMatReadIndexAndValueMatrixFiles.o ${SPARSEMATRIX:%=%.o}
Marco van Oort
committed
make -r OBJDEPS='$^' $@.target
test_SparseMatrixRemoveDuplicates: test_SparseMatrixRemoveDuplicates.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SparseMatrixStructurallySymmetric: test_SparseMatrixStructurallySymmetric.o ${SPARSEMATRIX:%=%.o} ${MATALLOC:%=%.o}
make -r OBJDEPS='$^' $@.target
test_CRS2CCS: test_CRS2CCS.o ${CARTESIAN:%=%.o}
make -r OBJDEPS='$^' $@.target
test_MMWriteCartesianSubmatrices: test_MMWriteCartesianSubmatrices.o ${CARTESIAN:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SparseMatrixToCRS_CCS: test_SparseMatrixToCRS_CCS.o ${SPARSEMATRIX:%=%.o}
make -r OBJDEPS='$^' $@.target
test_DetectConnectedComponents: testHelper_DisconnectedMatrix.o test_DetectConnectedComponents.o ${SPARSEMATRIX:%=%.o} ${ZEROVOLUMESEARCH:%=%.o}
make -r OBJDEPS='$^' $@.target
test_Heap: test_Heap.o ${HEAP:%=%.o}
make -r OBJDEPS='$^' $@.target
test_TwoColorTree: test_TwoColorTree.o ${SUBSETSUM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SubsetSum: test_SubsetSum.o ${SUBSETSUM:%=%.o}
make -r OBJDEPS='$^' $@.target
test_ZeroVolumeSearch: testHelper_DisconnectedMatrix.o test_ZeroVolumeSearch.o ${SPARSEMATRIX:%=%.o} ${DISTRIBUTEVECLIB:%=%.o} ${ZEROVOLUMESEARCH:%=%.o}
test_FreeNonzeros: test_FreeNonzeros.o ${SPARSEMATRIX:%=%.o} ${FREENONZEROS:%=%.o}
make -r OBJDEPS='$^' $@.target
test_GetParameters: test_GetParameters.o ${OPTIONS:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SetDefaultOptions: test_SetDefaultOptions.o ${OPTIONS:%=%.o}
make -r OBJDEPS='$^' $@.target
test_SetOption: test_SetOption.o ${OPTIONS:%=%.o}
make -r OBJDEPS='$^' $@.target
test_PrintHelp: test_PrintHelp.o ${OPTIONS:%=%.o}
make -r OBJDEPS='$^' $@.target
%.cstub:
rm -f ${@:%.cstub=%}.o
%.vcstub:
rm -f ${@:%.vcstub=%}
veryclean: clean ${TESTTARGETS:%=%.vcstub} ;
clean: ${TESTTARGETS:%=%.cstub}
rm -f `find . -name 'core'`