# root_dir - path to root directory of liboffload\r
# build_dir - path to build directory\r
# mpss_dir - path to root directory of mpss\r
+# mpss_version - version of the mpss (e.g., version "3.3.x" would be "33")\r
# libiomp_host_dir - path to host libiomp directory (unnecessary if compiler_host is icc)\r
# libiomp_target_dir - path to target libiomp directory (unnecesarry if compiler_target is icc)\r
# omp_header_dir - path to omp.h (unnecessary if compiler_host and compiler_target are icc)\r
compiler_target?=gcc\r
\r
# MPSS\r
+mpss_version?=30\r
mpss_dir?=/\r
mpss_present=$(shell if test -d $(mpss_dir); then echo OK; else echo KO; fi)\r
ifneq ($(mpss_present), OK)\r
$(error "Cannot find MPSS directory $(mpss_dir)")\r
endif\r
\r
-coi_dir=$(mpss_dir)/opt/intel/mic/coi\r
+ifeq ($(shell test $(mpss_version) -gt 33; echo $$?), 0)\r
+ coi_dir=$(mpss_dir)/sysroots/k1om-mpss-linux/usr\r
+ coi_include=$(coi_dir)/include/intel-coi\r
+ coi_lib_host=$(mpss_dir)/lib64\r
+ coi_lib_device=$(coi_dir)/lib64\r
+else\r
+ coi_dir=$(mpss_dir)/opt/intel/mic/coi\r
+ coi_include=$(coi_dir)/include\r
+ coi_lib_host=$(coi_dir)/host-linux-release/lib\r
+ coi_lib_device=$(coi_dir)/device-linux-release/lib\r
+endif\r
myo_dir=$(mpss_dir)/opt/intel/mic/myo\r
\r
# Sources\r
obj_ofld_target=$(foreach file,$(obj_ofld),$(build_target_dir)/$(file))\r
\r
# Options\r
-opts_common=-O2 -w -fpic -c -DCOI_LIBRARY_VERSION=2 -DMYO_SUPPORT -DOFFLOAD_DEBUG=1 -DSEP_SUPPORT -DTIMING_SUPPORT -I$(coi_dir)/include -I$(myo_dir)/include -I$(source_dir)\r
+opts_common=-O2 -w -fpic -c -DCOI_LIBRARY_VERSION=2 -DMYO_SUPPORT -DOFFLOAD_DEBUG=1 -DSEP_SUPPORT -DTIMING_SUPPORT -I$(coi_include) -I$(myo_dir)/include -I$(source_dir)\r
ifneq ($(omp_header_dir), )\r
opts_common+=-I$(imported_dir)\r
endif\r
\r
opts_liboffload=-shared -Wl,-soname,liboffload.so.5 -ldl -lstdc++ -liomp5\r
\r
-opts_liboffload_host=$(opts_liboffload) -L$(coi_dir)/host-linux-release/lib -lcoi_host -L$(myo_dir)/lib -lmyo-client\r
+opts_liboffload_host=$(opts_liboffload) -L$(coi_lib_host) -lcoi_host -L$(myo_dir)/lib -lmyo-client\r
ifneq ($(libiomp_host_dir), )\r
opts_liboffload_host+=-L$(libiomp_host_dir)\r
endif\r
\r
-opts_liboffload_target=$(opts_liboffload) -L$(coi_dir)/device-linux-release/lib -lcoi_device -L$(myo_dir)/lib -lmyo-service\r
+opts_liboffload_target=$(opts_liboffload) -L$(coi_lib_device) -lcoi_device -L$(myo_dir)/lib -lmyo-service\r
ifneq ($(libiomp_target_dir), )\r
opts_liboffload_target+=-L$(libiomp_target_dir)\r
endif\r
\r
options_host?=\r
-opts_host=$(options_host) -DHOST_LIBRARY=1\r
+opts_host=$(options_host) -DHOST_LIBRARY=1 -DMPSS_VERSION=$(mpss_version)\r
ifeq ($(os_host), linux)\r
opts_host+=-DLINUX\r
endif\r
ifeq ($(os_target), linux)\r
opts_target+=-DLINUX\r
endif\r
+ifeq ($(compiler_target), icc)\r
+ opts_target+=-mmic\r
+endif\r
\r
# Make targets\r
.PHONY: all clean info\r
@echo "root_dir = $(root_dir)"\r
@echo "build_dir = $(build_dir)"\r
@echo "mpss_dir = $(mpss_dir)"\r
+ @echo "mpss_version = $(mpss_version)"\r
@echo "libiomp_host_dir = $(libiomp_host_dir)"\r
@echo "libiomp_target_dir = $(libiomp_target_dir)"\r
@echo "omp_header_dir = $(omp_header_dir)"\r