SHELL := /bin/sh
CC := gcc
PWD ?= $(shell pwd)
MAKE := make
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
KVER ?= $(shell uname -r)
KSRC ?= /lib/modules/$(KVER)/build
MODDESTDIR ?= /lib/modules/$(KVER)/kernel/3rdparty/IT87
STAGINGMODDIR ?= /lib/modules/$(KVER)/kernel/drivers/staging
MODULE_NAME := it87fc
DRIVER_VERSION := 1.20230726
INSTALL_PREFIX :=
CLR_MODULE_FILES := *.mod.c* *.mod* *.o* .*.cmd *.ko* *~ .tmp_versions* modules.order Module.symvers
SYMBOL_FILE := Module.symvers

# Fix compile error && warning on gcc 4.9 and later
GCC_VER_49 ?= $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
ifeq ($(GCC_VER_49),1)
EXTRA_CFLAGS += -Wno-date-time -Wno-error=date-time
endif

ifneq ($(KERNELRELEASE),)
obj-m += it87fc.o
it87fc-objs     += it87.o

else

export CONFIG_$(MODULE_NAME) = m

.PHONY: all install modules clean

all: modules

modules:
	$(MAKE) -C $(KSRC) M=$(shell pwd)  modules

install: 
	/sbin/rmmod it87
	mkdir -p $(MODDESTDIR)
	install -p -m 644 $(MODULE_NAME).ko  $(MODDESTDIR)/
	/sbin/depmod -a ${KVER}
	echo "Please reboot your system"

uninstall:
	/sbin/rmmod $(MODULE_NAME)
	rm -f $(MODDESTDIR)/$(MODULE_NAME).ko*
	/sbin/depmod -a ${KVER}
	echo "Please reboot your system"

clean:
	rm -rf Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
	rm -rf *.mod.c *.mod *.o .*.cmd *.ko* *~
	rm -rf .tmp_versions*

endif
