CFLAGS= -std=c++11 -Ofast -DHAVE_CXX0X -DNDEBUG -openmp -march=native -fpic -w -ffast-math -funroll-loops -ftree-vectorize -ftree-vectorizer-verbose=0 -g
INCLUDES= -I/usr/local/include
CXX=g++

construct: hnsw/Index.h hnsw/SpaceInterface.h hnsw/HashBasedBooleanSet.h construct.cpp
	$(CXX) -Wall $(CFLAGS) $(INCLUDES) -L/usr/local/lib/ -lcnpy -lz -o construct construct.cpp

query: hnsw/Index.h hnsw/SpaceInterface.h hnsw/HashBasedBooleanSet.h query.cpp
	$(CXX) -Wall $(CFLAGS) $(INCLUDES) -L/usr/local/lib/ -lcnpy -lz -o query query.cpp

reorder: hnsw/Index.h hnsw/SpaceInterface.h hnsw/HashBasedBooleanSet.h reorder.cpp
	$(CXX) -Wall $(CFLAGS) $(INCLUDES) -L/usr/local/lib/ -lcnpy -lz -o reorder reorder.cpp

sift_construct: hnsw/Index.h hnsw/SpaceInterface.h hnsw/HashBasedBooleanSet.h sift_construct.cpp
	$(CXX) -Wall $(CFLAGS) $(INCLUDES) -L/usr/local/lib/ -o sift_construct sift_construct.cpp

sift_query: hnsw/Index.h hnsw/SpaceInterface.h hnsw/HashBasedBooleanSet.h sift_query.cpp
	$(CXX) -Wall $(CFLAGS) $(INCLUDES) -L/usr/local/lib/ -o sift_query sift_query.cpp



clean:
	rm *.o
