CXX ?= g++
HELPERS_DIR ?= ../_build/default/lib/helpers
ifeq ("$(wildcard $(HELPERS_DIR))","")
	HELPERS_DIR := ../../helpers
endif

CXXFLAGS := -DWITH_CEPH=1 -DWITH_S3=1 -DWITH_SWIFT=1 -DWITH_GLUSTERFS=1 -DWITH_WEBDAV=1 $(CXXFLAGS)

ifneq ($(SANITIZE),)
	CXXFLAGS := -I/usr/lib/clang/6.0.0/include -fsanitize=thread $(CXXFLAGS)
	LDFLAGS := -fsanitize=thread $(LDFLAGS)
	CXX = clang++-6.0
endif

../priv/link:
	mkdir -p build
	cd build && CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" cmake .. \
	            -DCMAKE_CXX_COMPILER=$(CXX) \
	            -DCMAKE_BUILD_TYPE=Release \
	            -DONEDATA_HELPERS_DIR=$(abspath $(HELPERS_DIR)/priv) \
	            -GNinja
	cmake --build build/
	cp build/link $@
