Files
linux-nvgpu/userspace/units/Makefile.units.common.tmk
Philip Elcan eda88f56ab gpu: nvgpu: unit: allow units to link against libraries
Allow unit tests to define NVGPU_UNIT_SHARED_LIBRARIES in their
tmake files for linking if necessary. For example, pthreads.

JIRA NVGPU-2251

Change-Id: Ieeae10fe981d82e2caa0fbde041b72b0887b6ca6
Signed-off-by: Philip Elcan <pelcan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2034425
GVS: Gerrit_Virtual_Submit
Reviewed-by: Alex Waterman <alexw@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
2019-03-11 18:24:01 -07:00

95 lines
2.7 KiB
Makefile

################################### tell Emacs this is a -*- makefile-gmake -*-
#
# Copyright (c) 2018-2019 NVIDIA CORPORATION. All Rights Reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
#
# tmake for SW Mobile component makefile
#
###############################################################################
ifdef NV_COMPONENT_FLAG_SHARED_LIBRARY_SECTION
include $(NV_BUILD_START_COMPONENT)
NV_COMPONENT_NAME := $(NVGPU_UNIT_NAME)
NV_COMPONENT_OWN_INTERFACE_DIR := .
#For the simple case, if there's only one source file with the same name as the
#component, the unit test can let this makefile add it.
#But if the unit test has > 1 file, they can define NVGPU_UNIT_SRCS
ifdef NVGPU_UNIT_SRCS
NV_COMPONENT_SOURCES := \
$(NVGPU_UNIT_SRCS)
else
NV_COMPONENT_SOURCES := \
$(NVGPU_UNIT_NAME).c
endif
ifdef NVGPU_UNIT_INCLUDES
NV_COMPONENT_INCLUDES := \
$(NVGPU_UNIT_INCLUDES)
endif
ifdef NVGPU_CFLAGS
NV_COMPONENT_CFLAGS := \
$(NVGPU_CFLAGS)
else
NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__
endif
NV_COMPONENT_CFLAGS += \
-DCONFIG_TEGRA_19x_GPU \
-DCONFIG_TEGRA_GK20A_NVHOST \
-DCONFIG_GK20A_CYCLE_STATS \
-DCONFIG_TEGRA_T19X_GRHOST \
-DCONFIG_NVGPU_SUPPORT_TURING \
-DCONFIG_TEGRA_GK20A_PMU=1 \
-DCONFIG_TEGRA_ACR=1 \
-DCONFIG_TEGRA_GR_VIRTUALIZATION \
-DNVCPU_IS_AARCH64=1 \
-DCONFIG_TEGRA_IOVMM=0 \
-DCONFIG_ARCH_TEGRA_18x_SOC=1 \
-DCONFIG_GK20A_VIDMEM=1 \
-DCONFIG_PCI_MSI \
-DCONFIG_SUPPORT_PMU_PSTATE \
-DCONFIG_TEGRA_NVLINK
NV_COMPONENT_NEEDED_INTERFACE_DIRS := \
$(NV_SOURCE)/kernel/nvgpu/userspace
ifdef NVGPU_UNIT_SHARED_LIBRARIES
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += $(NVGPU_UNIT_SHARED_LIBRARIES)
endif
ifdef NVGPU_UNIT_INTERFACE_DIRS
NV_COMPONENT_NEEDED_INTERFACE_DIRS += \
$(NVGPU_UNIT_INTERFACE_DIRS)
else
NV_COMPONENT_NEEDED_INTERFACE_DIRS += \
$(NV_SOURCE)/kernel/nvgpu/drivers/gpu/nvgpu
endif
ifdef NVGPU_SYSTEMIMAGE_DIR
NV_COMPONENT_SYSTEMIMAGE_DIR := $(NVGPU_SYSTEMIMAGE_DIR)
else
NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit/units
endif
systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR)
$(NV_COMPONENT_SYSTEMIMAGE_DIR) : $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)
$(MKDIR_P) $@
include $(NV_BUILD_SHARED_LIBRARY)
endif
# Local Variables:
# indent-tabs-mode: t
# tab-width: 8
# End:
# vi: set tabstop=8 noexpandtab: