Files
linux-nvgpu/userspace/Makefile.tmk
Philip Elcan 920030011e gpu: nvgpu: unit: add new script for unit testing
Add new script nvgpu_submit_unit.sh for starting the unit test framework
in GVS. The new script will live in the same path as nvgpu_submit and
can be started without a relative path. This allows for cases where
nvgpu_submit is started from a different path.

Change-Id: Iebc8e86bff943d4741c2fcaa5ec11e9f2c00bee7
Signed-off-by: Philip Elcan <pelcan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1997984
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-01-24 17:13:45 -08:00

131 lines
4.2 KiB
Makefile

################################### tell Emacs this is a -*- makefile-gmake -*-
#
# Copyright (c) 2018 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
#
###############################################################################
NVGPU_UNIT_COMMON_SRCS := \
src/nvgpu.c \
src/args.c \
src/io.c \
src/module.c \
src/results.c \
src/exec.c
NVGPU_UNIT_COMMON_INCLUDES := \
include \
../drivers/gpu/nvgpu \
../drivers/gpu/nvgpu/include
ifdef NV_COMPONENT_FLAG_NVTEST_EXECUTABLE_SECTION
include $(NV_BUILD_START_COMPONENT)
NV_COMPONENT_NAME := nvgpu_unit
NV_COMPONENT_SOURCES := \
src/unit_main.c \
$(NVGPU_UNIT_COMMON_SRCS)
NV_COMPONENT_INCLUDES := \
$(NVGPU_UNIT_COMMON_INCLUDES)
NV_COMPONENT_NEEDED_INTERFACE_DIRS := ../drivers/gpu/nvgpu
ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_QNX),1)
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += dl
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += gcov
endif
NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__
_NV_TOOLCHAIN_CFLAGS += -rdynamic
NV_UNIT_SH=unit.sh
NV_SUBMIT_UNIT_SH=nvgpu_submit_unit.sh
NV_TESTLIST_PY=testlist.py
NV_REQ_TESTS_JSON=required_tests.json
NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit
systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_UNIT_SH) \
$(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/$(NV_SUBMIT_UNIT_SH) \
$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_TESTLIST_PY) \
$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_REQ_TESTS_JSON)
#make the output directory
$(NV_COMPONENT_SYSTEMIMAGE_DIR) : $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)
$(MKDIR_P) $@
#copy the test script
$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_UNIT_SH) : $(NV_COMPONENT_DIR)/$(NV_UNIT_SH) $(NV_COMPONENT_SYSTEMIMAGE_DIR)
$(CP) $< $@
#the submit script goes in the parent directory
$(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/$(NV_SUBMIT_UNIT_SH) : $(NV_COMPONENT_DIR)/$(NV_SUBMIT_UNIT_SH) $(NV_COMPONENT_SYSTEMIMAGE_DIR)
$(CP) $< $@
$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_TESTLIST_PY) : $(NV_COMPONENT_DIR)/$(NV_TESTLIST_PY) $(NV_COMPONENT_SYSTEMIMAGE_DIR)
$(CP) $< $@
$(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_REQ_TESTS_JSON) : $(NV_COMPONENT_DIR)/$(NV_REQ_TESTS_JSON) $(NV_COMPONENT_SYSTEMIMAGE_DIR)
$(CP) $< $@
include $(NV_BUILD_NVTEST_EXECUTABLE)
endif
ifdef NV_COMPONENT_FLAG_SHARED_LIBRARY_SECTION
include $(NV_BUILD_START_COMPONENT)
NV_COMPONENT_NAME := nvgpu_unit-lib
NV_COMPONENT_OWN_INTERFACE_DIR := .
NV_COMPONENT_SOURCES := \
$(NVGPU_UNIT_COMMON_SRCS)
NV_COMPONENT_INCLUDES := \
$(NVGPU_UNIT_COMMON_INCLUDES)
NV_COMPONENT_NEEDED_INTERFACE_DIRS := ../drivers/gpu/nvgpu
ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_QNX),1)
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += dl
endif
NV_COMPONENT_CFLAGS += -D__NVGPU_POSIX__
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
NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit/
systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR)
$(NV_COMPONENT_SYSTEMIMAGE_DIR) : $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)
$(MKDIR_P) $@
NV_COMPONENT_SYSTEMIMAGE_NAME := libnvgpu-unit.so
include $(NV_BUILD_SHARED_LIBRARY)
endif
# Local Variables:
# indent-tabs-mode: t
# tab-width: 8
# End:
# vi: set tabstop=8 noexpandtab: