nvidia-open-gpu-kernel-modules/Makefile

87 lines
2.8 KiB
Makefile
Raw Permalink Normal View History

2022-05-09 23:18:59 +03:00
###########################################################################
# This is the top level makefile for the NVIDIA Linux kernel module source
# package.
#
# To build: run `make modules`
# To install the build kernel modules: run (as root) `make modules_install`
###########################################################################
2022-10-11 00:59:24 +03:00
###########################################################################
# variables
###########################################################################
2022-05-09 23:18:59 +03:00
nv_kernel_o = src/nvidia/$(OUTPUTDIR)/nv-kernel.o
nv_kernel_o_binary = kernel-open/nvidia/nv-kernel.o_binary
nv_modeset_kernel_o = src/nvidia-modeset/$(OUTPUTDIR)/nv-modeset-kernel.o
nv_modeset_kernel_o_binary = kernel-open/nvidia-modeset/nv-modeset-kernel.o_binary
2022-10-11 00:59:24 +03:00
###########################################################################
# rules
###########################################################################
2022-05-09 23:18:59 +03:00
2022-10-11 00:59:24 +03:00
include utils.mk
.PHONY: all
all: modules
2022-05-09 23:18:59 +03:00
###########################################################################
# nv-kernel.o is the OS agnostic portion of nvidia.ko
###########################################################################
2022-10-11 00:59:24 +03:00
.PHONY: $(nv_kernel_o)
2022-05-09 23:18:59 +03:00
$(nv_kernel_o):
$(MAKE) -C src/nvidia
$(nv_kernel_o_binary): $(nv_kernel_o)
cd $(dir $@) && ln -sf ../../$^ $(notdir $@)
###########################################################################
# nv-modeset-kernel.o is the OS agnostic portion of nvidia-modeset.ko
###########################################################################
2022-10-11 00:59:24 +03:00
.PHONY: $(nv_modeset_kernel_o)
2022-05-09 23:18:59 +03:00
$(nv_modeset_kernel_o):
$(MAKE) -C src/nvidia-modeset
$(nv_modeset_kernel_o_binary): $(nv_modeset_kernel_o)
cd $(dir $@) && ln -sf ../../$^ $(notdir $@)
###########################################################################
# After the OS agnostic portions are built, descend into kernel-open/ and build
# the kernel modules with kbuild.
###########################################################################
2022-10-11 00:59:24 +03:00
.PHONY: modules
2022-05-09 23:18:59 +03:00
modules: $(nv_kernel_o_binary) $(nv_modeset_kernel_o_binary)
$(MAKE) -C kernel-open modules
###########################################################################
# Install the built kernel modules using kbuild.
###########################################################################
2022-10-11 00:59:24 +03:00
.PHONY: modules_install
2022-05-09 23:18:59 +03:00
modules_install:
$(MAKE) -C kernel-open modules_install
###########################################################################
# clean
###########################################################################
2022-10-11 00:59:24 +03:00
.PHONY: clean
2022-05-09 23:18:59 +03:00
clean: nvidia.clean nvidia-modeset.clean kernel-open.clean
2022-10-11 00:59:24 +03:00
.PHONY: nvidia.clean
2022-05-09 23:18:59 +03:00
nvidia.clean:
$(MAKE) -C src/nvidia clean
2022-10-11 00:59:24 +03:00
.PHONY: nvidia-modeset.clean
2022-05-09 23:18:59 +03:00
nvidia-modeset.clean:
$(MAKE) -C src/nvidia-modeset clean
2022-10-11 00:59:24 +03:00
.PHONY: kernel-open.clean
2022-05-09 23:18:59 +03:00
kernel-open.clean:
$(MAKE) -C kernel-open clean