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_rpc_client.o \
	gsp_rpc_integration.o \
	memory.o \
	irq.o \
	migration.o \
	ioctl.o

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

# mdev dependencies
KBUILD_MODPOST_WARN := 1

# Use symbols from host nvidia.ko
KBUILD_EXTRA_SYMBOLS := $OPEN_IOV_ROOT/nvidia-open-gpu-kernel-modules/kernel-open/Module.symvers

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

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

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

.PHONY: all clean install