77 lines
2.5 KiB
Makefile
77 lines
2.5 KiB
Makefile
|
###########################################################################
|
||
|
# 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`
|
||
|
###########################################################################
|
||
|
|
||
|
include utils.mk
|
||
|
|
||
|
all: modules
|
||
|
|
||
|
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
|
||
|
|
||
|
.PHONY: $(nv_kernel_o) $(nv_modeset_kernel_o) modules modules_install
|
||
|
|
||
|
|
||
|
###########################################################################
|
||
|
# nv-kernel.o is the OS agnostic portion of nvidia.ko
|
||
|
###########################################################################
|
||
|
|
||
|
$(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
|
||
|
###########################################################################
|
||
|
|
||
|
$(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.
|
||
|
###########################################################################
|
||
|
|
||
|
modules: $(nv_kernel_o_binary) $(nv_modeset_kernel_o_binary)
|
||
|
$(MAKE) -C kernel-open modules
|
||
|
|
||
|
|
||
|
###########################################################################
|
||
|
# Install the built kernel modules using kbuild.
|
||
|
###########################################################################
|
||
|
|
||
|
modules_install:
|
||
|
$(MAKE) -C kernel-open modules_install
|
||
|
|
||
|
|
||
|
###########################################################################
|
||
|
# clean
|
||
|
###########################################################################
|
||
|
|
||
|
.PHONY: clean nvidia.clean nvidia-modeset.clean kernel-open.clean
|
||
|
|
||
|
clean: nvidia.clean nvidia-modeset.clean kernel-open.clean
|
||
|
|
||
|
nvidia.clean:
|
||
|
$(MAKE) -C src/nvidia clean
|
||
|
|
||
|
nvidia-modeset.clean:
|
||
|
$(MAKE) -C src/nvidia-modeset clean
|
||
|
|
||
|
kernel-open.clean:
|
||
|
$(MAKE) -C kernel-open clean
|