1CXX := mpicxx
2CXXFLAGS := -std=c++11 -std=gnu++14 -O3 -fopenmp -fpermissive  -DTHREADED #-DDETERMINISTIC  -DTIMING #-DBENCHMARK_SPMSPV
3
4
5
6COMBBLAS = ../..
7
8$(COMBBLAS)/graph500-1.2/generator/libgraph_generator_seq.a:
9	$(MAKE) -C $(COMBBLAS)/graph500-1.2/generator
10
11%.o : %.cpp
12	$(CXX) $(CXXFLAGS) -o $@ -c $<
13
14$(COMBBLAS)/Tommy/%.o : $(COMBBLAS)/Tommy/%.c
15	$(CXX) $(CXXFLAGS) -o $@ -c $<
16
17$(COMBBLAS)/usort/%.o : $(COMBBLAS)/usort/src/%.cpp
18	$(CXX) -I$(COMBBLAS)/usort/include $(CXXFLAGS) -o $@ -c $<
19
20
21clean:
22	rm -rf ../../*.o
23	rm -f SpMSpVBench
24	rm -f *.o
25
26TOMMYS = $(COMBBLAS)/Tommy/tommyhashdyn.o $(COMBBLAS)/Tommy/tommyhash.o $(COMBBLAS)/Tommy/tommylist.o
27
28USORT = $(COMBBLAS)/usort/binUtils.o $(COMBBLAS)/usort/parUtils.o
29
30
31SpMSpVBench.o: SpMSpVBench.cpp $(COMBBLAS)/SpDCCols.cpp $(COMBBLAS)/dcsc.cpp $(COMBBLAS)/SpHelper.h $(COMBBLAS)/SpParMat.h $(COMBBLAS)/ParFriends.h $(COMBBLAS)/SpParMat.cpp $(COMBBLAS)/SpDefs.h $(COMBBLAS)/SpTuples.cpp $(COMBBLAS)/SpImpl.h $(COMBBLAS)/SpCCols.h $(COMBBLAS)/SpCCols.cpp $(COMBBLAS)/csc.cpp $(COMBBLAS)/SpImpl.cpp
32	$(CXX) $(CXXFLAGS) -o $@ -c $<
33
34SpMSpVBench: SpMSpVBench.o $(COMBBLAS)/MPIType.o $(COMBBLAS)/mmio.o $(COMBBLAS)/MPIOp.o $(COMBBLAS)/MemoryPool.o $(COMBBLAS)/CommGrid.o  $(COMBBLAS)/hash.o $(COMBBLAS)/graph500-1.2/generator/libgraph_generator_seq.a $(COMBBLAS)/CommGrid.o $(TOMMYS) $(USORT)
35	$(CXX) $(CXXFLAGS) -o $@ $^ -L$(COMBBLAS)/graph500-1.2/generator -lgraph_generator_seq
36
37
38