#defines
CXX= g++
CXXFLAGS= -Wall -O0
LDFLAGS= -lrt 

TARGET = community gen_RMAT gen_SSCA2 gen_LFR

all: $(TARGET)

# your own implementation
community: main.o graph_tools.o louvain_reference.o
	$(CXX) $^ -o $@ $(LDFLAGS)

gen_RMAT: gen_RMAT.o graph_tools.o
	$(CXX) $^ -o $@ $(LDFLAGS)

gen_SSCA2: gen_SSCA2.o
	$(CXX) $^ -o $@ $(LDFLAGS)

gen_LFR: gen_LFR.o
	$(CXX) $^ -o $@ $(LDFLAGS)

.cpp.o:
	$(CXX) $(CXXFLAGS) -o $@ -c $<

clean:
	rm -rf *.o $(TARGET)
