OPENCL_DEPTH ?= $(COMPLIB_DEPTH)/../..

include $(OPENCL_DEPTH)/opencldefs

# Set the #defines for sc/Interface like that used to build sc.
# For a non-default configuration (for instance adding GFX9),
#   make GFX9_BUILD=1 wNow.dbg
# or change
#   ../../opencldefs
# to make sure that the settings for sc and sc's uses match.
include $(OPENCL_DEPTH)/compiler/sc/Interface/scinterfacedefs
GCPPFLAGS += $(SC_LIB_DEFS)

ELFTOOLCHAIN_DIR = $(COMPLIB_DEPTH)/loaders/elf/utils

ifdef GONE_TO_BUILD_DIR
ifneq ($(BUILD_LEGACY_COMPLIB),yes)
override BUILD_LLVM_AMDIL_TARGET = no
endif
endif

ifeq ($(BUILD_LLVM_HSAIL_TARGET),yes)
GCPPFLAGS += $(DEFSWITCH) WITH_TARGET_HSAIL
endif

GCPPFLAGS += $(ASIC_REG_INCS)
GCPPFLAGS += $(INCSWITCH) "$(COMPLIB_DEPTH)"
GCPPFLAGS += $(INCSWITCH) "$(OPENCL_DEPTH)/runtime"
GCPPFLAGS += $(INCSWITCH) "$(OPENCL_DEPTH)/runtime/utils"
GCPPFLAGS += $(INCSWITCH) "$(COMPLIB_DEPTH)/utils"
GCPPFLAGS += $(INCSWITCH) "$(OPENCL_DEPTH)/api/opencl/khronos/headers/opencl2.0"

# Do we build the 0.9 version?
ifeq ($(BUILD_VERSION_0_9), 1)
GCPPFLAGS += $(DEFSWITCH) WITH_VERSION_0_9
CLVER_SUBDIR = v0_9
else
# Otherwise we build v0.8
GCPPFLAGS += $(DEFSWITCH) WITH_VERSION_0_8
CLVER_SUBDIR = v0_8
endif

GCPPFLAGS += $(INCSWITCH) "$(COMPLIB_DEPTH)/utils/$(CLVER_SUBDIR)"
GCPPFLAGS += $(INCSWITCH) "$(COMPLIB_DEPTH)/include/$(CLVER_SUBDIR)"
GCPPFLAGS += $(DEFSWITCH) "BREAK_ON_LOG_WARNING=0"
GCPPFLAGS += $(DEFSWITCH) "BREAK_ON_LOG_ERROR=0"
GCPPFLAGS += $(DEFSWITCH) "LOG_LEVEL=2"

GCPPFLAGS += $(INCSWITCH) "$(OPENCL_DEPTH)/runtime/device/gpu/gslbe/src/rt"
GCPPFLAGS += $(INCSWITCH) "$(UGL_DEPTH)/gl/gs/hwl/si/include/asic"

export BRIG_ENABLE=1

ifdef ATI_OS_WINDOWS
    GCPPFLAGS += $(INCSWITCH) "$(DK_ROOT)/$(DK_DX_SDK)/inc"

    ifeq ($(BUILD_TYPE),dbg)
        GCXXOPTS += /Ob1
    endif
    
    GCXXOPTS += -wd4985 -wd4355 -wd4800 -wd4291 -wd4624 -wd4141

    GCPPFLAGS += $(DEFSWITCH) _SCL_SECURE_NO_WARNINGS
    
    GCXXOPTS += /GR- # Disable Run-Time Type Information
endif

ifdef ATI_OS_LINUX
    GCPPFLAGS += $(DEFSWITCH) __STDC_LIMIT_MACROS
    GCPPFLAGS += $(DEFSWITCH) __STDC_CONSTANT_MACROS

    GCXXOPTS += -fno-rtti -Wno-sign-compare

    ifneq ($(filter gcc/gcc-7.4%,$(DK_C)),)
        GCXXOPTS += -Wno-deprecated-declarations
    endif
endif    

ifeq ($(OPENCL_USE_ONE_SC),1)
    GCPPFLAGS += $(DEFSWITCH) OPENCL_USE_ONE_SC
endif

ifneq (,$(wildcard $(COMPLIB_DEPTH)/loaders/elf/utils/blowfish/blowfish.h))
    GCPPFLAGS += $(DEFSWITCH) HAVE_BLOWFISH_H
endif

include $(OPENCL_DEPTH)/compiler/scinterfacedefs.opencl
