KRELEASE ?= $(shell uname -r)
MODULE_NAME := gpio-it87
KERNEL_HEADER_DIR := /lib/modules/$(KRELEASE)/build
INSTALL_DIR := kernel/drivers/gpio
obj-m += $(MODULE_NAME).o

modules:
	$(MAKE) -C $(KERNEL_HEADER_DIR) M=$(PWD) modules

install: modules
	$(MAKE) INSTALL_MOD_DIR=$(INSTALL_DIR) -C $(KERNEL_HEADER_DIR) M=$(PWD) modules_install
	/usr/bin/install -m 644 -D gpio-it87.conf /usr/lib/modules-load.d/gpio-it87.conf

	@$(eval TAR_NAME=$(shell sh -c "/usr/sbin/dmidecode -t 12 | grep EXPCF2000"))
	@if [ ! -z "$(findstring EXPCF2000, $(TAR_NAME))" ] ; then /usr/bin/install -m 644 -D gpio_it87_expcf2000.conf /lib/modprobe.d/gpio_it87_expcf2000.conf ; fi
	/sbin/depmod -A

uninstall:
	rm /lib/modules/$(KRELEASE)/$(INSTALL_DIR)/gpio-it87.ko
	rm /usr/lib/modules-load.d/gpio-it87.conf
	/sbin/depmod -A

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

load:
	/usr/sbin/modprobe $(MODULE_NAME)

unload:
	/usr/sbin/modprobe -r $(MODULE_NAME)

.PHONY: modules install uninstall clean load unload
