summaryrefslogtreecommitdiffstats
path: root/kernel/Makefile
blob: 6080164f65d957025cd109c1b61bc8f86420ff7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
obj-m += open-iov-vfio.o

open-iov-vfio-y := \
	main.o \
	bar_init.o \
	bar_emulation.o \
	gsp_comm.o \
	gsp_emulation.o \
	gsp_rm_emulation.o \
	gsp_sema_service.o \
	gsp_rpc_client.o \
	gsp_rpc_integration.o \
	memory.o \
	irq.o \
	migration.o \
	ioctl.o \
	firmware_analyzer.o \
	dynamic_rpc_dispatcher.o \
	gsp_phys_gpu.o \
	architecture/architecture.o \
	version/version.o

ccflags-y := -I$(src)/include -I$(src)/architecture -I$(src)/version -Wall -Wextra -Wno-error -Wno-unused-parameter -Wno-unused-function

# mdev dependencies
KBUILD_MODPOST_WARN := 1

# Use symbols from host nvidia.ko (path resolved relative to this repo)
KBUILD_EXTRA_SYMBOLS := $(abspath $(src)/../nvidia-open-gpu-kernel-modules/kernel-open/Module.symvers)

# Use $(CURDIR), NOT $(PWD): when invoked via the top-level Makefile
# (make -C kernel), $(PWD) still points at the caller's directory and kbuild
# silently builds nothing (the "stale .ko" trap).
all:
	$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(CURDIR) modules

clean:
	$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(CURDIR) clean

install:
	$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(CURDIR) modules_install
	depmod -a

.PHONY: all clean install