ifeq ($(AOMP),)
# --- Standard Makefile check for AOMP installation ---
ifeq ("$(wildcard $(AOMP))","")
  ifneq ($(AOMP),)
    $(warning AOMP not found at $(AOMP))
  endif
  AOMP = $(HOME)/rocm/aomp
  ifeq ("$(wildcard $(AOMP))","")
    $(warning AOMP not found at $(AOMP))
    AOMP = /usr/lib/aomp
    ifeq ("$(wildcard $(AOMP))","")
      $(warning AOMP not found at $(AOMP))
      $(error Please install AOMP or correctly set env-var AOMP)
    endif
  endif
endif
# --- End Standard Makefile check for AOMP installation ---
endif

ifneq ($(TIMEOUT),)
  TKILL= timeout $(TIMEOUT)
endif

UNAMEP = $(shell uname -p)
AOMP_CPUTARGET = $(UNAMEP)-pc-linux-gnu
ifeq ($(UNAMEP),ppc64le)
  AOMP_CPUTARGET = ppc64le-linux-gnu
endif

INSTALLED_GPU  = $(shell $(AOMP)/bin/mygpu -d gfx900) # Default AOMP_GPU is gfx900 which is vega
AOMP_GPU       ?= $(INSTALLED_GPU)
CC              = $(AOMP)/bin/clang
CUDA           ?= /usr/local/cuda

ifeq (sm_,$(findstring sm_,$(AOMP_GPU)))
  AOMP_GPUTARGET = nvptx64-nvidia-cuda
else
  AOMP_GPUTARGET = amdgcn-amd-amdhsa
endif

ifeq ($(TARGET),)
  ifeq ($(OMP_HOST),)
    TARGET  =  -fopenmp-targets=$(AOMP_GPUTARGET) -Xopenmp-target=$(AOMP_GPUTARGET) -march=$(AOMP_GPU)
  endif
endif

# OFFLOAD_DEBUG is used by this test harnass to turn on HOST and/or DEVICE level debug
ifeq ($(OFFLOAD_DEBUG),1)
  $(info    DEBUG Mode ON)
  SET_DEVICE_DEBUG =  LIBOMPTARGET_DEBUG=1
  SETENV  = env LIBRARY_PATH=$(AOMP)/lib-debug
endif
ifeq ($(OFFLOAD_DEBUG),2)
  $(info    DEBUG Mode ON)
  SET_DEVICE_DEBUG = LIBOMPTARGET_DEVICE_RTL_DEBUG=-1
  SETENV  = env LIBRARY_PATH=$(AOMP)/lib-debug
endif
ifeq ($(OFFLOAD_DEBUG),3)
  $(info    DEBUG Mode ON)
  SET_DEVICE_DEBUG = LIBOMPTARGET_DEBUG=1 LIBOMPTARGET_DEVICE_RTL_DEBUG=-1
  SETENV  = env LIBRARY_PATH=$(AOMP)/lib-debug
endif
ifeq ($(OFFLOAD_DEBUG),4)
  $(info    DEBUG Mode ON)
  SET_DEVICE_DEBUG = ATMI_DEBUG=1
  SETENV  = env LIBRARY_PATH=$(AOMP)/lib-debug
endif
ifeq ($(OFFLOAD_DEBUG),5)
  $(info    DEBUG Mode ON)
  SET_DEVICE_DEBUG = ATMI_DEBUG=1 LIBOMPTARGET_DEBUG=1 LIBOMPTARGET_DEVICE_RTL_DEBUG=-1
  SETENV  = env LIBRARY_PATH=$(AOMP)/lib-debug
endif

ifeq ($(OMP_FLAGS),)
    ifeq ($(OMP_HOST),)
      OMP_FLAGS = -target $(AOMP_CPUTARGET) -fopenmp $(TARGET)
    else
      OMP_FLAGS = -target $(AOMP_CPUTARGET) -fopenmp
    endif
endif
OMP_FLAGS += -fopenmp-version=50 $(EXTRA_OMP_FLAGS) 

ifeq ($(VERBOSE),1)
  $(info    Compilation and linking VERBOSE Mode ON)
  VERBOSE = -v
endif

ifeq ($(TEMPS),1)
  $(info    Compilation and linking save-temp Mode ON)
  VERBOSE += -save-temps 
endif

ifeq ($(NOOPT),1)
CFLAGS =
else
CFLAGS = -O2
endif

ifeq (sm_,$(findstring sm_,$(AOMP_GPU)))
LINK_FLAGS = -L$(CUDA)/targets/$(UNAMEP)-linux/lib -lcudart
else
LINK_FLAGS =
endif
LINK_FLAGS += $(EXTRA_LDFLAGS)

RUNPROF =  $(CUDA)/bin/nvprof 
RUNPROF =

RUNENV   = env $(SET_DEVICE_DEBUG) $(TKILL)
