CXX ?= g++
CXXFLAGS ?=
CXXFLAGS += -Wall -Wextra -Werror -pedantic -Wno-variadic-macros

# OPENCL LIBRARIES BASED ON OS
UNAME := $(shell uname)
ifeq ($(UNAME), Darwin)
OPENCL_LIB = -framework OpenCL
OPENCL_INC =
endif

ifeq ($(UNAME), Linux)
.PHONY: .check-env
.check-env:
	@if [ ! -d "$(CLDIR)" ]; then \
		echo "ERROR: set CLDIR variable."; exit 1; \
	fi
OPENCL_LIB = -L$(CLDIR)/lib -lOpenCL
OPENCL_INC = -I $(CLDIR)/include
endif

default: atester vtester

atester: atester.cpp
	$(CXX) $(CXXFLAGS) $(OPENCL_INC) $(OPENCL_LIB) -o $@ $<

vtester: vtester.cpp
	$(CXX) $(CXXFLAGS) $(OPENCL_INC) $(OPENCL_LIB) -o $@ $<

clean:
	rm -f atester vtester
