From 9ac1e34312021ecc80d1b8db8fbff2f3e60e1a54 Mon Sep 17 00:00:00 2001 From: Philip Elcan Date: Thu, 13 Sep 2018 16:21:38 -0400 Subject: gpu: nvgpu: unit: build in tmake This builds the nvgpu userspace in the tmake build system. The shared library and the unit test binary are built for target. The output goes to the systemimage in nvgpu_unit/build. JIRA NVGPU-1042 Change-Id: I70a118bc02789caf838b2b8e9d6778e94239c56f Signed-off-by: Philip Elcan Reviewed-on: https://git-master.nvidia.com/r/1822287 Reviewed-by: svc-misra-checker GVS: Gerrit_Virtual_Submit Reviewed-by: Alex Waterman Reviewed-by: mobile promotions Tested-by: mobile promotions --- userspace/Makefile.tmk | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 userspace/Makefile.tmk (limited to 'userspace/Makefile.tmk') diff --git a/userspace/Makefile.tmk b/userspace/Makefile.tmk new file mode 100644 index 00000000..ba2ad728 --- /dev/null +++ b/userspace/Makefile.tmk @@ -0,0 +1,97 @@ +################################### 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) + +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_UNIT_SH=unit.sh +NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit +systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(NV_UNIT_SH) + +#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) $< $@ + +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) + + +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_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: -- cgit v1.2.2