mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
Whitelisting changes for tmake are set at the top level in tmake/umbrella/parts.tmk. The change in drivers/gpu/nvgpu/Makefile.tmk is unnecessary. Therefore, the nvgpu change is being removed. JIRA NVGPU-3820 Change-Id: I2053e69759df0d3dbf58b209a957d9227c1ebb40 Signed-off-by: Adeel Raza <araza@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2193805 Reviewed-by: Scott Long <scottl@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Philip Elcan <pelcan@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
117 lines
3.9 KiB
Makefile
117 lines
3.9 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
|
|
#
|
|
###############################################################################
|
|
|
|
ifdef NV_COMPONENT_FLAG_SHARED_LIBRARY_SECTION
|
|
include $(NV_BUILD_START_COMPONENT)
|
|
|
|
# Architecture script. This validates our YAML architecture against the
|
|
# source code we have.
|
|
ARCH_PY := $(NV_SOURCE)/core-private/tools/arch/arch.py
|
|
|
|
#
|
|
# Include the nvgpu-next repo, if it's present. It's expected to be
|
|
# located in the same directory as nvgpu, like so:
|
|
#
|
|
# kernel/nvgpu
|
|
# kernel/nvgpu-next
|
|
#
|
|
# If it exists, this defines two variables: srcs_next which contains the
|
|
# necessary sources to build and HEADERS_NEXT which has any headers in
|
|
# nvgpu-next.
|
|
#
|
|
# NVGPU_NEXT_SOURCE needs to be set for the Makefile.sources file to
|
|
# properly handle include paths.
|
|
NVGPU_NEXT_SOURCE := \
|
|
$(NV_COMPONENT_DIR)/../../../../nvgpu-next/drivers/gpu/nvgpu
|
|
|
|
NVGPU_POSIX := 1
|
|
NVGPU_ARCH := $(NV_COMPONENT_DIR)/../../../arch
|
|
NVGPU_ARCH_YAML := $(NVGPU_ARCH)/*.yaml
|
|
|
|
NV_COMPONENT_NAME := nvgpu-drv
|
|
NV_COMPONENT_OWN_INTERFACE_DIR := .
|
|
NV_COMPONENT_INCLUDES := \
|
|
. \
|
|
include \
|
|
../../../include \
|
|
$(NVGPU_NEXT_SOURCE) \
|
|
$(NVGPU_NEXT_SOURCE)/include \
|
|
$(NVGPU_NEXT_SOURCE)/../../../include
|
|
ifneq ($(NV_BUILD_CONFIGURATION_OS_IS_QNX),1)
|
|
NV_COMPONENT_SYSTEM_SHARED_LIBRARIES += pthread
|
|
endif
|
|
NV_COMPONENT_CFLAGS += \
|
|
-D__NVGPU_POSIX__ \
|
|
-DCONFIG_NVGPU_SUPPORT_TURING \
|
|
-D__NVGPU_UNIT_TEST__
|
|
|
|
NVGPU_FORCE_SAFETY_PROFILE := 1
|
|
NVGPU_FORCE_DEBUG_PROFILE := 1
|
|
-include $(NV_COMPONENT_DIR)/Makefile.shared.configs
|
|
NV_COMPONENT_CFLAGS += $(NVGPU_COMMON_CFLAGS)
|
|
|
|
NVGPU_FAULT_INJECTION_ENABLEMENT := 1
|
|
NV_COMPONENT_CFLAGS += -DNVGPU_UNITTEST_FAULT_INJECTION_ENABLEMENT
|
|
|
|
_NV_TOOLCHAIN_CFLAGS += -rdynamic -g
|
|
|
|
-include $(NV_COMPONENT_DIR)/Makefile.sources
|
|
-include $(NVGPU_NEXT_SOURCE)/Makefile.sources
|
|
|
|
NV_COMPONENT_SOURCES := \
|
|
$(srcs) \
|
|
$(addprefix $(NVGPU_NEXT_SOURCE)/,$(srcs_next))
|
|
|
|
# $(srcs_next) already has the NV_COMPONENT_DIR prefix so we already have the
|
|
# absolute path to those files. srcs are all relative, so we have to prefix
|
|
# those with the absolute path.
|
|
SRC_DEPS := srcs_next
|
|
SRC_DEPS += \
|
|
$(addprefix $(NV_COMPONENT_DIR)/,$(srcs))
|
|
|
|
#
|
|
# A little bit of magic to get tmake to execute the arch.py python script
|
|
# before we build the driver. Currently it ensures that the source code matches
|
|
# the arch.
|
|
#
|
|
# The way this works is we define a special target $(SRC_DEPS) which contains
|
|
# each .c file in the driver. Then when each .o target requires the
|
|
# corresponding .c file, this target is triggered. It in turn depends on the
|
|
# YAML files. Those files, then depend on a phony target (nvgpu-arch) that
|
|
# actually executes the check.
|
|
#
|
|
$(SRC_DEPS): $(NVGPU_ARCH_YAML)
|
|
$(NVGPU_ARCH_YAML): nvgpu-arch
|
|
nvgpu-arch: $(ARCH_PY)
|
|
$(PYTHON2) $(ARCH_PY) \
|
|
--arch-file $(NVGPU_ARCH)/nvgpu.yaml \
|
|
--source $(NV_COMPONENT_DIR) \
|
|
sources --check
|
|
|
|
.PHONY: nvgpu-arch
|
|
|
|
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-drv.so
|
|
include $(NV_BUILD_SHARED_LIBRARY)
|
|
endif
|
|
|
|
# Local Variables:
|
|
# indent-tabs-mode: t
|
|
# tab-width: 8
|
|
# End:
|
|
# vi: set tabstop=8 noexpandtab:
|