ifneq (,$(filter $(DEB_HOST_ARCH),i386 amd64))
ARCHFLAGS	+= -msse2 -msse
endif
CFLAGS		+= -I. $(OPENCLFLAGS) $(ARCHFLAGS)
CXXFLAGS	+= -std=c++11 -I. $(OPENCLFLAGS) $(ARCHFLAGS)

OPENCL_CLH_FLAGS_1_0 = -DCL_USE_DEPRECATED_OPENCL_1_0_APIS
OPENCL_CLH_FLAGS_1_1 = -DCL_USE_DEPRECATED_OPENCL_1_1_APIS
OPENCL_CLH_FLAGS_1_2 = -DCL_USE_DEPRECATED_OPENCL_1_2_APIS

OPENCL_CLHPP_FLAGS_1_0 = -DCL_HPP_TARGET_OPENCL_VERSION=100 -DCL_HPP_MINIMUM_OPENCL_VERSION=100
OPENCL_CLHPP_FLAGS_1_1 = -DCL_HPP_TARGET_OPENCL_VERSION=110 -DCL_HPP_MINIMUM_OPENCL_VERSION=110
OPENCL_CLHPP_FLAGS_1_2 = -DCL_HPP_TARGET_OPENCL_VERSION=120 -DCL_HPP_MINIMUM_OPENCL_VERSION=120
OPENCL_CLHPP_FLAGS_2_0 = -DCL_HPP_TARGET_OPENCL_VERSION=200 -DCL_HPP_MINIMUM_OPENCL_VERSION=200

check:
	$(MAKE) compile_opencl_h
	$(MAKE) compile_opencl_h OPENCLFLAGS="$(OPENCL_CLH_FLAGS_1_0)"
	$(MAKE) compile_opencl_h OPENCLFLAGS="$(OPENCL_CLH_FLAGS_1_1)"
	$(MAKE) compile_opencl_h OPENCLFLAGS="$(OPENCL_CLH_FLAGS_1_2)"

	$(MAKE) compile_cl_hpp OPENCLFLAGS="$(OPENCL_CLHPP_FLAGS_1_0)"
	$(MAKE) compile_cl_hpp OPENCLFLAGS="$(OPENCL_CLHPP_FLAGS_1_1)"
	$(MAKE) compile_cl_hpp OPENCLFLAGS="$(OPENCL_CLHPP_FLAGS_1_2)"
	$(MAKE) compile_cl_hpp OPENCLFLAGS="$(OPENCL_CLHPP_FLAGS_2_0)"

compile_opencl_h:
	$(CC) $(CPPFLAGS) $(CFLAGS) -c opencl_h.c
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c opencl_h.cpp

compile_cl_hpp:
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c cl_hpp.cpp

clean:
	$(RM) *.o
