1NOUVEAU_PATH ?= $(srctree)
2
3# SPDX-License-Identifier: MIT
4ccflags-y += -I $(NOUVEAU_PATH)/$(src)/include
5ccflags-y += -I $(NOUVEAU_PATH)/$(src)/include/nvkm
6ccflags-y += -I $(NOUVEAU_PATH)/$(src)/nvkm
7ccflags-y += -I $(NOUVEAU_PATH)/$(src)
8
9# NVKM - HW resource manager
10#- code also used by various userspace tools/tests
11include $(src)/nvif/Kbuild
12nouveau-y := $(nvif-y)
13
14# NVIF - NVKM interface library (NVKM user interface also defined here)
15#- code also used by various userspace tools/tests
16include $(src)/nvkm/Kbuild
17nouveau-y += $(nvkm-y)
18
19# DRM - general
20ifdef CONFIG_X86
21nouveau-$(CONFIG_ACPI) += nouveau_acpi.o
22endif
23nouveau-$(CONFIG_DEBUG_FS) += nouveau_debugfs.o
24nouveau-y += nouveau_drm.o
25nouveau-y += nouveau_hwmon.o
26nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
27nouveau-$(CONFIG_LEDS_CLASS) += nouveau_led.o
28nouveau-y += nouveau_nvif.o
29nouveau-$(CONFIG_NOUVEAU_PLATFORM_DRIVER) += nouveau_platform.o
30nouveau-y += nouveau_usif.o # userspace <-> nvif
31nouveau-y += nouveau_vga.o
32
33# DRM - memory management
34nouveau-y += nouveau_bo.o
35nouveau-y += nouveau_bo0039.o
36nouveau-y += nouveau_bo5039.o
37nouveau-y += nouveau_bo74c1.o
38nouveau-y += nouveau_bo85b5.o
39nouveau-y += nouveau_bo9039.o
40nouveau-y += nouveau_bo90b5.o
41nouveau-y += nouveau_boa0b5.o
42nouveau-y += nouveau_gem.o
43nouveau-$(CONFIG_DRM_NOUVEAU_SVM) += nouveau_svm.o
44nouveau-$(CONFIG_DRM_NOUVEAU_SVM) += nouveau_dmem.o
45nouveau-y += nouveau_mem.o
46nouveau-y += nouveau_prime.o
47nouveau-y += nouveau_sgdma.o
48nouveau-y += nouveau_ttm.o
49nouveau-y += nouveau_vmm.o
50
51# DRM - modesetting
52nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o
53nouveau-y += nouveau_bios.o
54nouveau-y += nouveau_connector.o
55nouveau-y += nouveau_display.o
56nouveau-y += nouveau_dp.o
57nouveau-y += nouveau_fbcon.o
58nouveau-y += nv04_fbcon.o
59nouveau-y += nv50_fbcon.o
60nouveau-y += nvc0_fbcon.o
61include $(src)/dispnv04/Kbuild
62include $(src)/dispnv50/Kbuild
63
64# DRM - command submission
65nouveau-y += nouveau_abi16.o
66nouveau-y += nouveau_chan.o
67nouveau-y += nouveau_dma.o
68nouveau-y += nouveau_fence.o
69nouveau-y += nv04_fence.o
70nouveau-y += nv10_fence.o
71nouveau-y += nv17_fence.o
72nouveau-y += nv50_fence.o
73nouveau-y += nv84_fence.o
74nouveau-y += nvc0_fence.o
75
76obj-$(CONFIG_DRM_NOUVEAU) += nouveau.o
77