-
Notifications
You must be signed in to change notification settings - Fork 17
/
Makefile
664 lines (524 loc) · 34 KB
/
Makefile
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
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
249
250
251
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
279
280
281
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
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
################################################################################
# Default Target
# -----------------------------------------------------------------------------
# growth - single threaded
# growth_cuda - multithreaded
################################################################################
all: growth growth_cuda
################################################################################
# Conditional Flags
# -----------------------------------------------------------------------------
# CUSEHDF5: yes - use hdf5 file format
# no - use default xml
# CPMETRICS: yes - see performance of large function calls
# no - not showing performance results
# CVALIDATION: yes - make validation version (see issue #239)
# no - make production version
################################################################################
CUSEHDF5 = no
CPMETRICS = no
CVALIDATION = no
################################################################################
# Source Directories
################################################################################
MAIN = .
COREDIR = $(MAIN)/Core
CONNDIR = $(MAIN)/Connections
INPUTDIR = $(MAIN)/Inputs
LAYOUTDIR = $(MAIN)/Layouts
MATRIXDIR = $(MAIN)/Matrix
NEURONDIR = $(MAIN)/Neurons
PARAMDIR = $(MAIN)/paramcontainer
RECORDERDIR = $(MAIN)/Recorders
RNGDIR = $(MAIN)/RNG
SYNAPSEDIR = $(MAIN)/Synapses
XMLDIR = $(MAIN)/tinyxml
UTILDIR = $(MAIN)/Utils
# cuda
CUDALIBDIR = /usr/local/cuda/lib64
# hdf5
ifeq ($(CUSEHDF5), yes)
H5INCDIR = /opt/hdf5/latest/include/ # include dir
H5LIBDIR = /opt/hdf5/latest/lib/ # library dir
#H5LIBDIR = /usr/lib/x86_64-linux-gnu/ # another library dir
else
H5INCDIR = .
endif
################################################################################
# Build tools
#
# for single-threaded version, use h5c++ instead of g++ to avoid linking bug
################################################################################
CXX = g++
ifeq ($(CUSEHDF5), yes)
LD = h5c++
else
LD = g++
endif
LD_cuda = nvcc # linking the compiled cuda with g++ can be troublesome
################################################################################
# Flags
################################################################################
# BUGGY MAKE!! ---------------- our Make is buggy. Can't use ifeq in this case
# ----------------------------- ifdef and ifneq both works.
ifneq ($(CPMETRICS), no)
#ifdef CPMETRICS
PMFLAGS = -DPERFORMANCE_METRICS
else
PMFLAGS =
endif
ifeq ($(CUSEHDF5), yes)
LH5FLAGS = -L$(H5LIBDIR) -lhdf5_hl_cpp -lhdf5_cpp -lhdf5_hl -lhdf5 -lsz
H5FLAGS = -DUSE_HDF5
else
LH5FLAGS =
H5FLAGS =
endif
ifeq ($(CVALIDATION), yes)
VDFLAGS = -DVALIDATION
else
VDFLAGS =
endif
INCDIRS = -I$(CONNDIR) -I$(COREDIR) -I$(H5INCDIR) -I$(INPUTDIR) -I$(LAYOUTDIR) \
-I$(MATRIXDIR) -I$(NEURONDIR) -I$(PARAMDIR) -I$(RECORDERDIR) \
-I$(RNGDIR) -I$(SYNAPSEDIR) -I$(UTILDIR) -I$(XMLDIR)
CXXFLAGS = -O2 -std=c++11 -Wall -c -DTIXML_USE_STL -DDEBUG_OUT $(INCDIRS) $(PMFLAGS) $(H5FLAGS) $(VDFLAGS)
CGPUFLAGS = -std=c++11 -DUSE_GPU $(PMFLAGS) $(H5FLAGS) $(VDFLAGS)
CXXLDFLAGS = -lstdc++ -pthread
LGPUFLAGS = -lstdc++ -L$(CUDALIBDIR) -lcuda -lcudart -lcudadevrt -arch=sm_35
NVCCFLAGS = -arch=sm_35 -dc -DDEBUG_OUT $(INCDIRS) -I/usr/local/cuda/samples/common/inc
################################################################################
# Objects
################################################################################
ifeq ($(CUSEHDF5), yes)
CUDAOBJS = \
$(COREDIR)/GPUSpikingCluster.o \
$(COREDIR)/Model_cuda.o \
$(NEURONDIR)/AllNeurons_cuda.o \
$(NEURONDIR)/AllSpikingNeurons_cuda.o \
$(NEURONDIR)/AllIFNeurons_cuda.o \
$(NEURONDIR)/AllLIFNeurons_cuda.o \
$(NEURONDIR)/AllIZHNeurons_cuda.o \
$(NEURONDIR)/AllNeuronsProps_cuda.o \
$(NEURONDIR)/AllSpikingNeuronsProps_cuda.o \
$(NEURONDIR)/AllIFNeuronsProps_cuda.o \
$(NEURONDIR)/AllIZHNeuronsProps_cuda.o \
$(SYNAPSEDIR)/AllSynapses_cuda.o \
$(SYNAPSEDIR)/AllSpikingSynapses_cuda.o \
$(SYNAPSEDIR)/AllDSSynapses_cuda.o \
$(SYNAPSEDIR)/AllSTDPSynapses_cuda.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapses_cuda.o \
$(SYNAPSEDIR)/AllSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllSpikingSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllDSSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllSTDPSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps_cuda.o \
$(CONNDIR)/Connections_cuda.o \
$(CONNDIR)/ConnGrowth_cuda.o \
$(CONNDIR)/ConnStatic_cuda.o \
$(CONNDIR)/ConnGrowth_d.o \
$(CONNDIR)/ConnStatic_d.o \
$(LAYOUTDIR)/Layout_cuda.o \
$(RNGDIR)/MersenneTwister_d.o \
$(COREDIR)/BGDriver_cuda.o \
$(INPUTDIR)/GpuSInputRegular.o \
$(INPUTDIR)/GpuSInputPoisson.o \
$(INPUTDIR)/SInputRegular_cuda.o \
$(INPUTDIR)/SInputPoisson_cuda.o \
$(INPUTDIR)/FSInput_cuda.o \
$(COREDIR)/FClassOfCategory_cuda.o \
$(COREDIR)/EventQueue_cuda.o \
$(COREDIR)/InterClustersEventHandler_cuda.o \
$(COREDIR)/SynapseIndexMap_cuda.o \
$(RECORDERDIR)/XmlRecorder_cuda.o \
$(RECORDERDIR)/XmlGrowthRecorder_cuda.o \
$(RECORDERDIR)/Hdf5Recorder_cuda.o \
$(RECORDERDIR)/Hdf5GrowthRecorder_cuda.o \
$(UTILDIR)/Global_cuda.o
else
CUDAOBJS = \
$(COREDIR)/GPUSpikingCluster.o \
$(COREDIR)/Model_cuda.o \
$(NEURONDIR)/AllNeurons_cuda.o \
$(NEURONDIR)/AllSpikingNeurons_cuda.o \
$(NEURONDIR)/AllIFNeurons_cuda.o \
$(NEURONDIR)/AllLIFNeurons_cuda.o \
$(NEURONDIR)/AllIZHNeurons_cuda.o \
$(NEURONDIR)/AllNeuronsProps_cuda.o \
$(NEURONDIR)/AllSpikingNeuronsProps_cuda.o \
$(NEURONDIR)/AllIFNeuronsProps_cuda.o \
$(NEURONDIR)/AllIZHNeuronsProps_cuda.o \
$(SYNAPSEDIR)/AllSynapses_cuda.o \
$(SYNAPSEDIR)/AllSpikingSynapses_cuda.o \
$(SYNAPSEDIR)/AllDSSynapses_cuda.o \
$(SYNAPSEDIR)/AllSTDPSynapses_cuda.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapses_cuda.o \
$(SYNAPSEDIR)/AllSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllSpikingSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllDSSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllSTDPSynapsesProps_cuda.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps_cuda.o \
$(CONNDIR)/Connections_cuda.o \
$(CONNDIR)/ConnGrowth_cuda.o \
$(CONNDIR)/ConnStatic_cuda.o \
$(CONNDIR)/ConnGrowth_d.o \
$(CONNDIR)/ConnStatic_d.o \
$(LAYOUTDIR)/Layout_cuda.o \
$(RNGDIR)/MersenneTwister_d.o \
$(COREDIR)/BGDriver_cuda.o \
$(INPUTDIR)/GpuSInputRegular.o \
$(INPUTDIR)/GpuSInputPoisson.o \
$(INPUTDIR)/SInputRegular_cuda.o \
$(INPUTDIR)/SInputPoisson_cuda.o \
$(INPUTDIR)/FSInput_cuda.o \
$(COREDIR)/FClassOfCategory_cuda.o \
$(COREDIR)/EventQueue_cuda.o \
$(COREDIR)/InterClustersEventHandler_cuda.o \
$(COREDIR)/SynapseIndexMap_cuda.o \
$(RECORDERDIR)/XmlRecorder_cuda.o \
$(RECORDERDIR)/XmlGrowthRecorder_cuda.o \
$(UTILDIR)/Global_cuda.o
endif
LIBOBJS = \
$(COREDIR)/Simulator.o \
$(COREDIR)/SimulationInfo.o \
$(COREDIR)/Cluster.o \
$(LAYOUTDIR)/FixedLayout.o \
$(LAYOUTDIR)/DynamicLayout.o \
$(UTILDIR)/ParseParamError.o \
$(UTILDIR)/Timer.o \
$(UTILDIR)/Util.o
MATRIXOBJS = $(MATRIXDIR)/CompleteMatrix.o \
$(MATRIXDIR)/Matrix.o \
$(MATRIXDIR)/SparseMatrix.o \
$(MATRIXDIR)/VectorMatrix.o
PARAMOBJS = $(PARAMDIR)/ParamContainer.o
RNGOBJS = $(RNGDIR)/Norm.o \
$(RNGDIR)/MersenneTwister.o
ifeq ($(CUSEHDF5), yes)
SINGLEOBJS = $(COREDIR)/BGDriver.o \
$(COREDIR)/Model.o \
$(COREDIR)/SingleThreadedCluster.o \
$(INPUTDIR)/HostSInputRegular.o \
$(INPUTDIR)/SInputRegular.o \
$(INPUTDIR)/HostSInputPoisson.o \
$(INPUTDIR)/SInputPoisson.o \
$(INPUTDIR)/FSInput.o \
$(COREDIR)/FClassOfCategory.o \
$(COREDIR)/EventQueue.o \
$(COREDIR)/InterClustersEventHandler.o \
$(COREDIR)/SynapseIndexMap.o \
$(NEURONDIR)/AllNeurons.o \
$(NEURONDIR)/AllSpikingNeurons.o \
$(NEURONDIR)/AllIFNeurons.o \
$(NEURONDIR)/AllLIFNeurons.o \
$(NEURONDIR)/AllIZHNeurons.o \
$(NEURONDIR)/AllNeuronsProps.o \
$(NEURONDIR)/AllSpikingNeuronsProps.o \
$(NEURONDIR)/AllIFNeuronsProps.o \
$(NEURONDIR)/AllIZHNeuronsProps.o \
$(SYNAPSEDIR)/AllSynapses.o \
$(SYNAPSEDIR)/AllSpikingSynapses.o \
$(SYNAPSEDIR)/AllDSSynapses.o \
$(SYNAPSEDIR)/AllSTDPSynapses.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapses.o \
$(SYNAPSEDIR)/AllSynapsesProps.o \
$(SYNAPSEDIR)/AllSpikingSynapsesProps.o \
$(SYNAPSEDIR)/AllDSSynapsesProps.o \
$(SYNAPSEDIR)/AllSTDPSynapsesProps.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.o \
$(CONNDIR)/Connections.o \
$(CONNDIR)/ConnGrowth.o \
$(CONNDIR)/ConnStatic.o \
$(LAYOUTDIR)/Layout.o \
$(RECORDERDIR)/XmlRecorder.o \
$(RECORDERDIR)/XmlGrowthRecorder.o \
$(RECORDERDIR)/Hdf5Recorder.o \
$(RECORDERDIR)/Hdf5GrowthRecorder.o \
$(UTILDIR)/Global.o
else
SINGLEOBJS = $(COREDIR)/BGDriver.o \
$(COREDIR)/Model.o \
$(COREDIR)/SingleThreadedCluster.o \
$(INPUTDIR)/HostSInputRegular.o \
$(INPUTDIR)/SInputRegular.o \
$(INPUTDIR)/HostSInputPoisson.o \
$(INPUTDIR)/SInputPoisson.o \
$(INPUTDIR)/FSInput.o \
$(COREDIR)/FClassOfCategory.o \
$(COREDIR)/EventQueue.o \
$(COREDIR)/InterClustersEventHandler.o \
$(COREDIR)/SynapseIndexMap.o \
$(NEURONDIR)/AllNeurons.o \
$(NEURONDIR)/AllSpikingNeurons.o \
$(NEURONDIR)/AllIFNeurons.o \
$(NEURONDIR)/AllLIFNeurons.o \
$(NEURONDIR)/AllIZHNeurons.o \
$(NEURONDIR)/AllNeuronsProps.o \
$(NEURONDIR)/AllSpikingNeuronsProps.o \
$(NEURONDIR)/AllIFNeuronsProps.o \
$(NEURONDIR)/AllIZHNeuronsProps.o \
$(SYNAPSEDIR)/AllSynapses.o \
$(SYNAPSEDIR)/AllSpikingSynapses.o \
$(SYNAPSEDIR)/AllDSSynapses.o \
$(SYNAPSEDIR)/AllSTDPSynapses.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapses.o \
$(SYNAPSEDIR)/AllSynapsesProps.o \
$(SYNAPSEDIR)/AllSpikingSynapsesProps.o \
$(SYNAPSEDIR)/AllDSSynapsesProps.o \
$(SYNAPSEDIR)/AllSTDPSynapsesProps.o \
$(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.o \
$(CONNDIR)/Connections.o \
$(CONNDIR)/ConnGrowth.o \
$(CONNDIR)/ConnStatic.o \
$(LAYOUTDIR)/Layout.o \
$(RECORDERDIR)/XmlRecorder.o \
$(RECORDERDIR)/XmlGrowthRecorder.o \
$(UTILDIR)/Global.o
endif
XMLOBJS = $(XMLDIR)/tinyxml.o \
$(XMLDIR)/tinyxmlparser.o \
$(XMLDIR)/tinyxmlerror.o \
$(XMLDIR)/tinystr.o
################################################################################
# Targets
################################################################################
# make growth (single threaded version)
# ------------------------------------------------------------------------------
growth: $(LIBOBJS) $(MATRIXOBJS) $(PARAMOBJS) $(RNGOBJS) $(SINGLEOBJS) $(XMLOBJS)
$(LD) -o growth -g $(CXXLDFLAGS) $(LH5FLAGS) $(MATRIXOBJS) $(PARAMOBJS) $(RNGOBJS) $(SINGLEOBJS) $(XMLOBJS) $(LIBOBJS)
# make growth_cuda (multi-threaded version)
# ------------------------------------------------------------------------------
growth_cuda: $(LIBOBJS) $(MATRIXOBJS) $(PARAMOBJS) $(RNGOBJS) $(XMLOBJS) $(OTHEROBJS) $(CUDAOBJS)
$(LD_cuda) -o growth_cuda $(LH5FLAGS) $(LGPUFLAGS) $(LIBOBJS) $(CUDAOBJS) $(MATRIXOBJS) $(PARAMOBJS) $(RNGOBJS) $(XMLOBJS) $(OTHEROBJS)
# make clean
# ------------------------------------------------------------------------------
clean:
rm -f $(COREDIR)/*.o $(CONNDIR)/*.o $(INPUTDIR)/*.o $(LAYOUTDIR)/*.o $(MATRIXDIR)/*.o $(NEURONDIR)/*.o $(PARAMDIR)/*.o $(RECORDERDIR)/*.o $(RNGDIR)/*.o $(SYNAPSEDIR)/*.o $(XMLDIR)/*.o $(UTILDIR)/*.o ./growth ./growth_cuda
################################################################################
# Build Source Files
################################################################################
# CUDA
# ------------------------------------------------------------------------------
$(RNGDIR)/MersenneTwister_d.o: $(RNGDIR)/MersenneTwister_d.cu $(UTILDIR)/Global.h $(RNGDIR)/MersenneTwister_d.h
nvcc $(NVCCFLAGS) $(RNGDIR)/MersenneTwister_d.cu $(CGPUFLAGS) -o $(RNGDIR)/MersenneTwister_d.o
$(COREDIR)/GPUSpikingCluster.o: $(COREDIR)/GPUSpikingCluster.cu $(UTILDIR)/Global.h $(COREDIR)/GPUSpikingCluster.h $(NEURONDIR)/AllIFNeurons.h $(SYNAPSEDIR)/AllSynapses.h $(COREDIR)/IModel.h
nvcc $(NVCCFLAGS) $(COREDIR)/GPUSpikingCluster.cu $(CGPUFLAGS) -o $(COREDIR)/GPUSpikingCluster.o
$(CONNDIR)/ConnGrowth_d.o: $(CONNDIR)/ConnGrowth_d.cu $(UTILDIR)/Global.h $(CONNDIR)/ConnGrowth.h
nvcc $(NVCCFLAGS) $(CONNDIR)/ConnGrowth_d.cu $(CGPUFLAGS) -o $(CONNDIR)/ConnGrowth_d.o
$(CONNDIR)/ConnStatic_d.o: $(CONNDIR)/ConnStatic_d.cu $(UTILDIR)/Global.h $(CONNDIR)/ConnStatic.h
nvcc $(NVCCFLAGS) $(CONNDIR)/ConnStatic_d.cu $(CGPUFLAGS) -o $(CONNDIR)/ConnStatic_d.o
$(COREDIR)/BGDriver_cuda.o: $(COREDIR)/BGDriver.cpp $(UTILDIR)/Global.h $(COREDIR)/IModel.h $(NEURONDIR)/AllIFNeurons.h $(SYNAPSEDIR)/AllSynapses.h
nvcc $(NVCCFLAGS) $(COREDIR)/BGDriver.cpp -x cu $(CGPUFLAGS) -o $(COREDIR)/BGDriver_cuda.o
$(NEURONDIR)/AllNeurons_cuda.o: $(NEURONDIR)/AllNeurons.cpp $(NEURONDIR)/AllNeurons.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllNeurons.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllNeurons_cuda.o
$(NEURONDIR)/AllSpikingNeurons_cuda.o: $(NEURONDIR)/AllSpikingNeurons.cpp $(NEURONDIR)/AllSpikingNeurons.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllSpikingNeurons.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllSpikingNeurons_cuda.o
$(NEURONDIR)/AllIFNeurons_cuda.o: $(NEURONDIR)/AllIFNeurons.cpp $(NEURONDIR)/AllIFNeurons.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllIFNeurons.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllIFNeurons_cuda.o
$(NEURONDIR)/AllLIFNeurons_cuda.o: $(NEURONDIR)/AllLIFNeurons.cpp $(NEURONDIR)/AllLIFNeurons.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllLIFNeurons.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllLIFNeurons_cuda.o
$(NEURONDIR)/AllIZHNeurons_cuda.o: $(NEURONDIR)/AllIZHNeurons.cpp $(NEURONDIR)/AllIZHNeurons.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllIZHNeurons.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllIZHNeurons_cuda.o
$(NEURONDIR)/AllNeuronsProps_cuda.o: $(NEURONDIR)/AllNeuronsProps.cpp $(NEURONDIR)/AllNeuronsProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllNeuronsProps.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllNeuronsProps_cuda.o
$(NEURONDIR)/AllSpikingNeuronsProps_cuda.o: $(NEURONDIR)/AllSpikingNeuronsProps.cpp $(NEURONDIR)/AllSpikingNeuronsProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllSpikingNeuronsProps.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllSpikingNeuronsProps_cuda.o
$(NEURONDIR)/AllIFNeuronsProps_cuda.o: $(NEURONDIR)/AllIFNeuronsProps.cpp $(NEURONDIR)/AllIFNeuronsProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllIFNeuronsProps.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllIFNeuronsProps_cuda.o
$(NEURONDIR)/AllIZHNeuronsProps_cuda.o: $(NEURONDIR)/AllIZHNeuronsProps.cpp $(NEURONDIR)/AllIZHNeuronsProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(NEURONDIR)/AllIZHNeuronsProps.cpp -x cu $(CGPUFLAGS) -o $(NEURONDIR)/AllIZHNeuronsProps_cuda.o
$(SYNAPSEDIR)/AllSynapses_cuda.o: $(SYNAPSEDIR)/AllSynapses.cpp $(SYNAPSEDIR)/AllSynapses.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllSynapses.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllSynapses_cuda.o
$(SYNAPSEDIR)/AllSpikingSynapses_cuda.o: $(SYNAPSEDIR)/AllSpikingSynapses.cpp $(SYNAPSEDIR)/AllSpikingSynapses.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllSpikingSynapses.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllSpikingSynapses_cuda.o
$(SYNAPSEDIR)/AllDSSynapses_cuda.o: $(SYNAPSEDIR)/AllDSSynapses.cpp $(SYNAPSEDIR)/AllDSSynapses.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllDSSynapses.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllDSSynapses_cuda.o
$(SYNAPSEDIR)/AllSTDPSynapses_cuda.o: $(SYNAPSEDIR)/AllSTDPSynapses.cpp $(SYNAPSEDIR)/AllSTDPSynapses.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllSTDPSynapses.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllSTDPSynapses_cuda.o
$(SYNAPSEDIR)/AllDynamicSTDPSynapses_cuda.o: $(SYNAPSEDIR)/AllDynamicSTDPSynapses.cpp $(SYNAPSEDIR)/AllDynamicSTDPSynapses.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllDynamicSTDPSynapses.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllDynamicSTDPSynapses_cuda.o
$(SYNAPSEDIR)/AllSynapsesProps_cuda.o: $(SYNAPSEDIR)/AllSynapsesProps.cpp $(SYNAPSEDIR)/AllSynapsesProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllSynapsesProps.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllSynapsesProps_cuda.o
$(SYNAPSEDIR)/AllSpikingSynapsesProps_cuda.o: $(SYNAPSEDIR)/AllSpikingSynapsesProps.cpp $(SYNAPSEDIR)/AllSpikingSynapsesProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllSpikingSynapsesProps.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllSpikingSynapsesProps_cuda.o
$(SYNAPSEDIR)/AllDSSynapsesProps_cuda.o: $(SYNAPSEDIR)/AllDSSynapsesProps.cpp $(SYNAPSEDIR)/AllDSSynapsesProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllDSSynapsesProps.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllDSSynapsesProps_cuda.o
$(SYNAPSEDIR)/AllSTDPSynapsesProps_cuda.o: $(SYNAPSEDIR)/AllSTDPSynapsesProps.cpp $(SYNAPSEDIR)/AllSTDPSynapsesProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllSTDPSynapsesProps.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllSTDPSynapsesProps_cuda.o
$(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps_cuda.o: $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.cpp $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.cpp -x cu $(CGPUFLAGS) -o $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps_cuda.o
$(CONNDIR)/Connections_cuda.o: $(CONNDIR)/Connections.cpp $(CONNDIR)/Connections.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(CONNDIR)/Connections.cpp -x cu $(CGPUFLAGS) -o $(CONNDIR)/Connections_cuda.o
$(CONNDIR)/ConnGrowth_cuda.o: $(CONNDIR)/ConnGrowth.cpp $(CONNDIR)/ConnGrowth.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(CONNDIR)/ConnGrowth.cpp -x cu $(CGPUFLAGS) -o $(CONNDIR)/ConnGrowth_cuda.o
$(CONNDIR)/ConnStatic_cuda.o: $(CONNDIR)/ConnStatic.cpp $(CONNDIR)/ConnStatic.h $(UTILDIR)/Global.h
nvcc $(NVCCFLAGS) $(CONNDIR)/ConnStatic.cpp -x cu $(CGPUFLAGS) -o $(CONNDIR)/ConnStatic_cuda.o
$(LAYOUTDIR)/Layout_cuda.o: $(LAYOUTDIR)/Layout.cpp $(LAYOUTDIR)/Layout.h
nvcc $(NVCCFLAGS) $(LAYOUTDIR)/Layout.cpp -o $(LAYOUTDIR)/Layout_cuda.o
$(UTILDIR)/Global_cuda.o: $(UTILDIR)/Global.cpp $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(CGPUFLAGS) $(UTILDIR)/Global.cpp -o $(UTILDIR)/Global_cuda.o
$(COREDIR)/FClassOfCategory_cuda.o: $(COREDIR)/FClassOfCategory.cpp $(COREDIR)/FClassOfCategory.h
nvcc $(NVCCFLAGS) $(COREDIR)/FClassOfCategory.cpp -x cu $(CGPUFLAGS) -o $(COREDIR)/FClassOfCategory_cuda.o
$(RECORDERDIR)/XmlRecorder_cuda.o: $(RECORDERDIR)/XmlRecorder.cpp $(RECORDERDIR)/XmlRecorder.h $(RECORDERDIR)/IRecorder.h
nvcc $(NVCCFLAGS) $(RECORDERDIR)/XmlRecorder.cpp -x cu $(CGPUFLAGS) -o $(RECORDERDIR)/XmlRecorder_cuda.o
$(RECORDERDIR)/XmlGrowthRecorder_cuda.o: $(RECORDERDIR)/XmlGrowthRecorder.cpp $(RECORDERDIR)/XmlGrowthRecorder.h $(RECORDERDIR)/IRecorder.h
nvcc $(NVCCFLAGS) $(RECORDERDIR)/XmlGrowthRecorder.cpp -x cu $(CGPUFLAGS) -o $(RECORDERDIR)/XmlGrowthRecorder_cuda.o
ifeq ($(CUSEHDF5), yes)
$(RECORDERDIR)/Hdf5GrowthRecorder_cuda.o: $(RECORDERDIR)/Hdf5GrowthRecorder.cpp $(RECORDERDIR)/Hdf5GrowthRecorder.h $(RECORDERDIR)/IRecorder.h
nvcc $(NVCCFLAGS) $(RECORDERDIR)/Hdf5GrowthRecorder.cpp -x cu $(CGPUFLAGS) -o $(RECORDERDIR)/Hdf5GrowthRecorder_cuda.o
$(RECORDERDIR)/Hdf5Recorder_cuda.o: $(RECORDERDIR)/Hdf5Recorder.cpp $(RECORDERDIR)/Hdf5Recorder.h $(RECORDERDIR)/IRecorder.h
nvcc $(NVCCFLAGS) $(RECORDERDIR)/Hdf5Recorder.cpp -x cu $(CGPUFLAGS) -o $(RECORDERDIR)/Hdf5Recorder_cuda.o
endif
# Library
# ------------------------------------------------------------------------------
$(NEURONDIR)/AllNeurons.o: $(NEURONDIR)/AllNeurons.cpp $(NEURONDIR)/AllNeurons.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllNeurons.cpp -o $(NEURONDIR)/AllNeurons.o
$(NEURONDIR)/AllSpikingNeurons.o: $(NEURONDIR)/AllSpikingNeurons.cpp $(NEURONDIR)/AllSpikingNeurons.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllSpikingNeurons.cpp -o $(NEURONDIR)/AllSpikingNeurons.o
$(NEURONDIR)/AllIFNeurons.o: $(NEURONDIR)/AllIFNeurons.cpp $(NEURONDIR)/AllIFNeurons.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllIFNeurons.cpp -o $(NEURONDIR)/AllIFNeurons.o
$(NEURONDIR)/AllLIFNeurons.o: $(NEURONDIR)/AllLIFNeurons.cpp $(NEURONDIR)/AllLIFNeurons.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllLIFNeurons.cpp -o $(NEURONDIR)/AllLIFNeurons.o
$(NEURONDIR)/AllIZHNeurons.o: $(NEURONDIR)/AllIZHNeurons.cpp $(NEURONDIR)/AllIZHNeurons.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllIZHNeurons.cpp -o $(NEURONDIR)/AllIZHNeurons.o
$(NEURONDIR)/AllNeuronsProps.o: $(NEURONDIR)/AllNeuronsProps.cpp $(NEURONDIR)/AllNeuronsProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllNeuronsProps.cpp -o $(NEURONDIR)/AllNeuronsProps.o
$(NEURONDIR)/AllSpikingNeuronsProps.o: $(NEURONDIR)/AllSpikingNeuronsProps.cpp $(NEURONDIR)/AllSpikingNeuronsProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllSpikingNeuronsProps.cpp -o $(NEURONDIR)/AllSpikingNeuronsProps.o
$(NEURONDIR)/AllIFNeuronsProps.o: $(NEURONDIR)/AllIFNeuronsProps.cpp $(NEURONDIR)/AllIFNeuronsProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllIFNeuronsProps.cpp -o $(NEURONDIR)/AllIFNeuronsProps.o
$(NEURONDIR)/AllIZHNeuronsProps.o: $(NEURONDIR)/AllIZHNeuronsProps.cpp $(NEURONDIR)/AllIZHNeuronsProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(NEURONDIR)/AllIZHNeuronsProps.cpp -o $(NEURONDIR)/AllIZHNeuronsProps.o
$(SYNAPSEDIR)/AllSynapses.o: $(SYNAPSEDIR)/AllSynapses.cpp $(SYNAPSEDIR)/AllSynapses.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllSynapses.cpp -o $(SYNAPSEDIR)/AllSynapses.o
$(SYNAPSEDIR)/AllSpikingSynapses.o: $(SYNAPSEDIR)/AllSpikingSynapses.cpp $(SYNAPSEDIR)/AllSpikingSynapses.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllSpikingSynapses.cpp -o $(SYNAPSEDIR)/AllSpikingSynapses.o
$(SYNAPSEDIR)/AllDSSynapses.o: $(SYNAPSEDIR)/AllDSSynapses.cpp $(SYNAPSEDIR)/AllDSSynapses.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllDSSynapses.cpp -o $(SYNAPSEDIR)/AllDSSynapses.o
$(SYNAPSEDIR)/AllSTDPSynapses.o: $(SYNAPSEDIR)/AllSTDPSynapses.cpp $(SYNAPSEDIR)/AllSTDPSynapses.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllSTDPSynapses.cpp -o $(SYNAPSEDIR)/AllSTDPSynapses.o
$(SYNAPSEDIR)/AllDynamicSTDPSynapses.o: $(SYNAPSEDIR)/AllDynamicSTDPSynapses.cpp $(SYNAPSEDIR)/AllDynamicSTDPSynapses.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllDynamicSTDPSynapses.cpp -o $(SYNAPSEDIR)/AllDynamicSTDPSynapses.o
$(SYNAPSEDIR)/AllSynapsesProps.o: $(SYNAPSEDIR)/AllSynapsesProps.cpp $(SYNAPSEDIR)/AllSynapsesProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllSynapsesProps.cpp -o $(SYNAPSEDIR)/AllSynapsesProps.o
$(SYNAPSEDIR)/AllSpikingSynapsesProps.o: $(SYNAPSEDIR)/AllSpikingSynapsesProps.cpp $(SYNAPSEDIR)/AllSpikingSynapsesProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllSpikingSynapsesProps.cpp -o $(SYNAPSEDIR)/AllSpikingSynapsesProps.o
$(SYNAPSEDIR)/AllDSSynapsesProps.o: $(SYNAPSEDIR)/AllDSSynapsesProps.cpp $(SYNAPSEDIR)/AllDSSynapsesProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllDSSynapsesProps.cpp -o $(SYNAPSEDIR)/AllDSSynapsesProps.o
$(SYNAPSEDIR)/AllSTDPSynapsesProps.o: $(SYNAPSEDIR)/AllSTDPSynapsesProps.cpp $(SYNAPSEDIR)/AllSTDPSynapsesProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllSTDPSynapsesProps.cpp -o $(SYNAPSEDIR)/AllSTDPSynapsesProps.o
$(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.o: $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.cpp $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.cpp -o $(SYNAPSEDIR)/AllDynamicSTDPSynapsesProps.o
$(UTILDIR)/Global.o: $(UTILDIR)/Global.cpp $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(UTILDIR)/Global.cpp -o $(UTILDIR)/Global.o
$(COREDIR)/Simulator.o: $(COREDIR)/Simulator.cpp $(COREDIR)/Simulator.h $(UTILDIR)/Global.h $(COREDIR)/SimulationInfo.h
$(CXX) $(CXXFLAGS) $(COREDIR)/Simulator.cpp -o $(COREDIR)/Simulator.o
$(COREDIR)/SimulationInfo.o: $(COREDIR)/SimulationInfo.cpp $(COREDIR)/SimulationInfo.h $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(COREDIR)/SimulationInfo.cpp -o $(COREDIR)/SimulationInfo.o
$(COREDIR)/Model.o: $(COREDIR)/Model.cpp $(COREDIR)/Model.h $(COREDIR)/IModel.h $(UTILDIR)/ParseParamError.h $(UTILDIR)/Util.h $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(COREDIR)/Model.cpp -o $(COREDIR)/Model.o
$(COREDIR)/Model_cuda.o: $(COREDIR)/Model.cpp $(COREDIR)/Model.h $(COREDIR)/IModel.h $(UTILDIR)/ParseParamError.h $(UTILDIR)/Util.h $(XMLDIR)/tinyxml.h
nvcc $(NVCCFLAGS) $(COREDIR)/Model.cpp -x cu $(CGPUFLAGS) -o $(COREDIR)/Model_cuda.o
$(COREDIR)/Cluster.o: $(COREDIR)/Cluster.cpp $(COREDIR)/Cluster.h
$(CXX) $(CXXFLAGS) $(COREDIR)/Cluster.cpp -o $(COREDIR)/Cluster.o
$(CONNDIR)/Connections.o: $(CONNDIR)/Connections.cpp $(CONNDIR)/Connections.h
$(CXX) $(CXXFLAGS) $(CONNDIR)/Connections.cpp -o $(CONNDIR)/Connections.o
$(CONNDIR)/ConnStatic.o: $(CONNDIR)/ConnStatic.cpp $(CONNDIR)/ConnStatic.h
$(CXX) $(CXXFLAGS) $(CONNDIR)/ConnStatic.cpp -o $(CONNDIR)/ConnStatic.o
$(CONNDIR)/ConnGrowth.o: $(CONNDIR)/ConnGrowth.cpp $(CONNDIR)/ConnGrowth.h
$(CXX) $(CXXFLAGS) $(CONNDIR)/ConnGrowth.cpp -o $(CONNDIR)/ConnGrowth.o
$(LAYOUTDIR)/Layout.o: $(LAYOUTDIR)/Layout.cpp $(LAYOUTDIR)/Layout.h
$(CXX) $(CXXFLAGS) $(LAYOUTDIR)/Layout.cpp -o $(LAYOUTDIR)/Layout.o
$(LAYOUTDIR)/FixedLayout.o: $(LAYOUTDIR)/FixedLayout.cpp $(LAYOUTDIR)/FixedLayout.h
$(CXX) $(CXXFLAGS) $(LAYOUTDIR)/FixedLayout.cpp -o $(LAYOUTDIR)/FixedLayout.o
$(LAYOUTDIR)/DynamicLayout.o: $(LAYOUTDIR)/DynamicLayout.cpp $(LAYOUTDIR)/DynamicLayout.h
$(CXX) $(CXXFLAGS) $(LAYOUTDIR)/DynamicLayout.cpp -o $(LAYOUTDIR)/DynamicLayout.o
$(COREDIR)/SingleThreadedCluster.o: $(COREDIR)/SingleThreadedCluster.cpp $(COREDIR)/SingleThreadedCluster.h $(COREDIR)/Cluster.h
$(CXX) $(CXXFLAGS) $(COREDIR)/SingleThreadedCluster.cpp -o $(COREDIR)/SingleThreadedCluster.o
$(UTILDIR)/ParseParamError.o: $(UTILDIR)/ParseParamError.cpp $(UTILDIR)/ParseParamError.h
$(CXX) $(CXXFLAGS) $(UTILDIR)/ParseParamError.cpp -o $(UTILDIR)/ParseParamError.o
$(UTILDIR)/Timer.o: $(UTILDIR)/Timer.cpp $(UTILDIR)/Timer.h
$(CXX) $(CXXFLAGS) $(UTILDIR)/Timer.cpp -o $(UTILDIR)/Timer.o
$(UTILDIR)/Util.o: $(UTILDIR)/Util.cpp $(UTILDIR)/Util.h
$(CXX) $(CXXFLAGS) $(UTILDIR)/Util.cpp -o $(UTILDIR)/Util.o
$(RECORDERDIR)/XmlRecorder.o: $(RECORDERDIR)/XmlRecorder.cpp $(RECORDERDIR)/XmlRecorder.h $(RECORDERDIR)/IRecorder.h
$(CXX) $(CXXFLAGS) $(RECORDERDIR)/XmlRecorder.cpp -o $(RECORDERDIR)/XmlRecorder.o
$(RECORDERDIR)/XmlGrowthRecorder.o: $(RECORDERDIR)/XmlGrowthRecorder.cpp $(RECORDERDIR)/XmlGrowthRecorder.h $(RECORDERDIR)/IRecorder.h
$(CXX) $(CXXFLAGS) $(RECORDERDIR)/XmlGrowthRecorder.cpp -o $(RECORDERDIR)/XmlGrowthRecorder.o
ifeq ($(CUSEHDF5), yes)
$(RECORDERDIR)/Hdf5GrowthRecorder.o: $(RECORDERDIR)/Hdf5GrowthRecorder.cpp $(RECORDERDIR)/Hdf5GrowthRecorder.h $(RECORDERDIR)/IRecorder.h
$(CXX) $(CXXFLAGS) $(RECORDERDIR)/Hdf5GrowthRecorder.cpp -o $(RECORDERDIR)/Hdf5GrowthRecorder.o
$(RECORDERDIR)/Hdf5Recorder.o: $(RECORDERDIR)/Hdf5Recorder.cpp $(RECORDERDIR)/Hdf5Recorder.h $(RECORDERDIR)/IRecorder.h
$(CXX) $(CXXFLAGS) $(RECORDERDIR)/Hdf5Recorder.cpp -o $(RECORDERDIR)/Hdf5Recorder.o
endif
$(COREDIR)/FClassOfCategory.o: $(COREDIR)/FClassOfCategory.cpp $(COREDIR)/FClassOfCategory.h
$(CXX) $(CXXFLAGS) $(COREDIR)/FClassOfCategory.cpp -o $(COREDIR)/FClassOfCategory.o
$(COREDIR)/EventQueue_cuda.o: $(COREDIR)/EventQueue.cpp $(COREDIR)/EventQueue.h
nvcc $(NVCCFLAGS) $(COREDIR)/EventQueue.cpp -x cu $(CGPUFLAGS) -o $(COREDIR)/EventQueue_cuda.o
$(COREDIR)/EventQueue.o: $(COREDIR)/EventQueue.cpp $(COREDIR)/EventQueue.h
$(CXX) $(CXXFLAGS) $(COREDIR)/EventQueue.cpp -o $(COREDIR)/EventQueue.o
$(COREDIR)/InterClustersEventHandler.o: $(COREDIR)/InterClustersEventHandler.cpp $(COREDIR)/InterClustersEventHandler.h
$(CXX) $(CXXFLAGS) $(COREDIR)/InterClustersEventHandler.cpp -o $(COREDIR)/InterClustersEventHandler.o
$(COREDIR)/InterClustersEventHandler_cuda.o: $(COREDIR)/InterClustersEventHandler.cpp $(COREDIR)/InterClustersEventHandler.h
nvcc $(NVCCFLAGS) $(COREDIR)/InterClustersEventHandler.cpp -x cu $(CGPUFLAGS) -o $(COREDIR)/InterClustersEventHandler_cuda.o
$(COREDIR)/SynapseIndexMap_cuda.o: $(COREDIR)/SynapseIndexMap.cpp $(COREDIR)/SynapseIndexMap.h
nvcc $(NVCCFLAGS) $(COREDIR)/SynapseIndexMap.cpp -x cu $(CGPUFLAGS) -o $(COREDIR)/SynapseIndexMap_cuda.o
$(COREDIR)/SynapseIndexMap.o: $(COREDIR)/SynapseIndexMap.cpp $(COREDIR)/SynapseIndexMap.h
$(CXX) $(CXXFLAGS) $(COREDIR)/SynapseIndexMap.cpp -o $(COREDIR)/SynapseIndexMap.o
# Matrix
# ------------------------------------------------------------------------------
$(MATRIXDIR)/CompleteMatrix.o: $(MATRIXDIR)/CompleteMatrix.cpp $(MATRIXDIR)/CompleteMatrix.h $(MATRIXDIR)/MatrixExceptions.h $(MATRIXDIR)/Matrix.h $(MATRIXDIR)/VectorMatrix.h
$(CXX) $(CXXFLAGS) $(MATRIXDIR)/CompleteMatrix.cpp -o $(MATRIXDIR)/CompleteMatrix.o
$(MATRIXDIR)/Matrix.o: $(MATRIXDIR)/Matrix.cpp $(MATRIXDIR)/Matrix.h $(MATRIXDIR)/MatrixExceptions.h $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(MATRIXDIR)/Matrix.cpp -o $(MATRIXDIR)/Matrix.o
$(MATRIXDIR)/SparseMatrix.o: $(MATRIXDIR)/SparseMatrix.cpp $(MATRIXDIR)/SparseMatrix.h $(MATRIXDIR)/MatrixExceptions.h $(MATRIXDIR)/Matrix.h $(MATRIXDIR)/VectorMatrix.h
$(CXX) $(CXXFLAGS) $(MATRIXDIR)/SparseMatrix.cpp -o $(MATRIXDIR)/SparseMatrix.o
$(MATRIXDIR)/VectorMatrix.o: $(MATRIXDIR)/VectorMatrix.cpp $(MATRIXDIR)/VectorMatrix.h $(MATRIXDIR)/CompleteMatrix.h $(MATRIXDIR)/SparseMatrix.h $(MATRIXDIR)/
$(CXX) $(CXXFLAGS) $(MATRIXDIR)/VectorMatrix.cpp -o $(MATRIXDIR)/VectorMatrix.o
# ParamContainer
# ------------------------------------------------------------------------------
$(PARAMDIR)/ParamContainer.o: $(PARAMDIR)/ParamContainer.cpp $(PARAMDIR)/ParamContainer.h
$(CXX) $(CXXFLAGS) $(PARAMDIR)/ParamContainer.cpp -o $(PARAMDIR)/ParamContainer.o
# RNG
# ------------------------------------------------------------------------------
$(RNGDIR)/Norm.o: $(RNGDIR)/Norm.cpp $(RNGDIR)/Norm.h $(RNGDIR)/MersenneTwister.h $(UTILDIR)/BGTypes.h
$(CXX) $(CXXFLAGS) $(RNGDIR)/Norm.cpp -o $(RNGDIR)/Norm.o
$(RNGDIR)/MersenneTwister.o: $(RNGDIR)/MersenneTwister.cpp $(RNGDIR)/MersenneTwister.h $(UTILDIR)/BGTypes.h
$(CXX) $(CXXFLAGS) $(RNGDIR)/MersenneTwister.cpp -o $(RNGDIR)/MersenneTwister.o
# XML
# ------------------------------------------------------------------------------
$(XMLDIR)/tinyxml.o: $(XMLDIR)/tinyxml.cpp $(XMLDIR)/tinyxml.h $(XMLDIR)/tinystr.h $(UTILDIR)/BGTypes.h
$(CXX) $(CXXFLAGS) $(XMLDIR)/tinyxml.cpp -o $(XMLDIR)/tinyxml.o
$(XMLDIR)/tinyxmlparser.o: $(XMLDIR)/tinyxmlparser.cpp $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(XMLDIR)/tinyxmlparser.cpp -o $(XMLDIR)/tinyxmlparser.o
$(XMLDIR)/tinyxmlerror.o: $(XMLDIR)/tinyxmlerror.cpp $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(XMLDIR)/tinyxmlerror.cpp -o $(XMLDIR)/tinyxmlerror.o
$(XMLDIR)/tinystr.o: $(XMLDIR)/tinystr.cpp $(XMLDIR)/tinystr.h
$(CXX) $(CXXFLAGS) $(XMLDIR)/tinystr.cpp -o $(XMLDIR)/tinystr.o
# Input
# ------------------------------------------------------------------------------
$(INPUTDIR)/FSInput.o: $(INPUTDIR)/FSInput.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/FSInput.h $(INPUTDIR)/HostSInputRegular.h $(INPUTDIR)/GpuSInputRegular.h $(INPUTDIR)/HostSInputPoisson.h $(INPUTDIR)/GpuSInputPoisson.h $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(INPUTDIR)/FSInput.cpp -o $(INPUTDIR)/FSInput.o
$(INPUTDIR)/FSInput_cuda.o: $(INPUTDIR)/FSInput.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/FSInput.h $(INPUTDIR)/HostSInputRegular.h $(INPUTDIR)/GpuSInputRegular.h $(INPUTDIR)/HostSInputPoisson.h $(INPUTDIR)/GpuSInputPoisson.h $(XMLDIR)/tinyxml.h
nvcc $(NVCCFLAGS) $(INPUTDIR)/FSInput.cpp -x cu $(CGPUFLAGS) -o $(INPUTDIR)/FSInput_cuda.o
$(INPUTDIR)/SInputRegular.o: $(INPUTDIR)/SInputRegular.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/SInputRegular.h $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(INPUTDIR)/SInputRegular.cpp -o $(INPUTDIR)/SInputRegular.o
$(INPUTDIR)/SInputPoisson.o: $(INPUTDIR)/SInputPoisson.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/SInputPoisson.h $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(INPUTDIR)/SInputPoisson.cpp -o $(INPUTDIR)/SInputPoisson.o
$(INPUTDIR)/SInputRegular_cuda.o: $(INPUTDIR)/SInputRegular.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/SInputRegular.h $(XMLDIR)/tinyxml.h
nvcc $(NVCCFLAGS) $(INPUTDIR)/SInputRegular.cpp -x cu $(CGPUFLAGS) -o $(INPUTDIR)/SInputRegular_cuda.o
$(INPUTDIR)/SInputPoisson_cuda.o: $(INPUTDIR)/SInputPoisson.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/SInputPoisson.h $(XMLDIR)/tinyxml.h
nvcc $(NVCCFLAGS) $(INPUTDIR)/SInputPoisson.cpp -x cu $(CGPUFLAGS) -o $(INPUTDIR)/SInputPoisson_cuda.o
$(INPUTDIR)/HostSInputRegular.o: $(INPUTDIR)/HostSInputRegular.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/HostSInputRegular.h
$(CXX) $(CXXFLAGS) $(INPUTDIR)/HostSInputRegular.cpp -o $(INPUTDIR)/HostSInputRegular.o
$(INPUTDIR)/HostSInputPoisson.o: $(INPUTDIR)/HostSInputPoisson.cpp $(INPUTDIR)/ISInput.h $(INPUTDIR)/HostSInputPoisson.h $(XMLDIR)/tinyxml.h
$(CXX) $(CXXFLAGS) $(INPUTDIR)/HostSInputPoisson.cpp -o $(INPUTDIR)/HostSInputPoisson.o
$(INPUTDIR)/GpuSInputRegular.o: $(INPUTDIR)/GpuSInputRegular.cu $(INPUTDIR)/ISInput.h $(INPUTDIR)/GpuSInputRegular.h
nvcc $(NVCCFLAGS) $(INPUTDIR)/GpuSInputRegular.cu $(CGPUFLAGS) -o $(INPUTDIR)/GpuSInputRegular.o
$(INPUTDIR)/GpuSInputPoisson.o: $(INPUTDIR)/GpuSInputPoisson.cu $(INPUTDIR)/ISInput.h $(INPUTDIR)/GpuSInputPoisson.h
nvcc $(NVCCFLAGS) $(INPUTDIR)/GpuSInputPoisson.cu $(CGPUFLAGS) -o $(INPUTDIR)/GpuSInputPoisson.o
# Single Threaded
# ------------------------------------------------------------------------------
$(COREDIR)/BGDriver.o: $(COREDIR)/BGDriver.cpp $(UTILDIR)/Global.h
$(CXX) $(CXXFLAGS) $(COREDIR)/BGDriver.cpp -o $(COREDIR)/BGDriver.o