#
#  Makefile
#  Copyright 2018-2020 NetApp, Inc. All rights reserved.
#
#  Makefile to create and clean up the FPGA loadable kernel module.
#

obj-m := fpga_pci.o fpga_mm.o fpga_sds.o

EXTRA_CFLAGS += -I$(M)/../include

PWD=$(shell pwd)
KVERSION=$(shell ls -rv /lib/modules | head -1)
KERNEL_BUILD=/lib/modules/$(KVERSION)/build

build:
	$(MAKE) -C $(KERNEL_BUILD) M=$(PWD) KBUILD_EXTRA_SYMBOLS=$(PWD)/../../tty modules

install:
	install -d \
		$(DESTDIR)/lib/modules/$(KVERSION)/kernel/drivers/pci/ \
		$(DESTDIR)/lib/modules/$(KVERSION)/kernel/drivers/char/ \
		$(DESTDIR)/lib/udev/rules.d/ \

		install --mode=755 ./fpga_pci.ko $(DESTDIR)/lib/modules/$(KVERSION)/kernel/drivers/pci/
		install --mode=755 ./fpga_mm.ko $(DESTDIR)/lib/modules/$(KVERSION)/kernel/drivers/char/
		install --mode=755 ./fpga_sds.ko $(DESTDIR)/lib/modules/$(KVERSION)/kernel/drivers/char/
		install --mode=644 ./rules/* $(DESTDIR)/lib/udev/rules.d/

clean:
	$(MAKE) -C $(KERNEL_BUILD) M=$(PWD) clean
