File size: 1,959 Bytes
563c80f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
#
# Copyright 2020-2021 NVIDIA Corporation. All rights reserved
#
ifndef OS
OS := $(shell uname)
HOST_ARCH := $(shell uname -m)
endif
CUDA_INSTALL_PATH ?= ../../../..
NVCC := "$(CUDA_INSTALL_PATH)/bin/nvcc"
INCLUDES := -I"$(CUDA_INSTALL_PATH)/include" -I../../include
ifeq ($(OS),Windows_NT)
LIB_PATH ?= ..\..\lib64
else
EXTRAS_LIB_PATH := ../../lib64
LIB_PATH ?= $(CUDA_INSTALL_PATH)/lib64
endif
NVCCFLAGS :=
ifeq ($(OS),Windows_NT)
export PATH := $(PATH):$(LIB_PATH)
LIBS= -L $(LIB_PATH) -lcuda -lcupti -lpcsamplingutil -ldetours
LIBNAME := pc_sampling_continuous.dll
else
ifeq ($(OS), Darwin)
export DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(LIB_PATH)
LIBS= -Xlinker -framework -Xlinker cuda -L $(EXTRAS_LIB_PATH) -L $(LIB_PATH) -lcupti -lpcsamplingutil
else
export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(LIB_PATH)
LIBS = -L $(LIB_PATH) -lcuda -L $(EXTRAS_LIB_PATH) -lcupti -lpcsamplingutil
endif
LIBNAME := libpc_sampling_continuous.so
NVCCFLAGS += -Xcompiler -fPIC
endif
ifneq ($(TARGET_ARCH), $(HOST_ARCH))
ifeq ($(TARGET_ARCH), aarch64)
ifeq ($(TARGET_OS), linux)
HOST_COMPILER ?= aarch64-linux-gnu-g++
else ifeq ($(TARGET_OS),qnx)
ifeq ($(QNX_HOST),)
$(error ERROR - QNX_HOST must be passed to the QNX host toolchain)
endif
ifeq ($(QNX_TARGET),)
$(error ERROR - QNX_TARGET must be passed to the QNX target toolchain)
endif
HOST_COMPILER ?= $(QNX_HOST)/usr/bin/q++
NVCCFLAGS += --qpp-config 8.3.0,gcc_ntoaarch64le -lsocket
endif
endif
ifdef HOST_COMPILER
NVCC_COMPILER := -ccbin $(HOST_COMPILER)
endif
endif
all: pc_sampling_continuous
pc_sampling_continuous: pc_sampling_continuous.cpp
$(NVCC) $(NVCC_COMPILER) $(NVCCFLAGS) $(INCLUDES) -o $(LIBNAME) -shared $< $(LIBS)
clean:
rm $(LIBNAME)
|