RHEL7_RELEASE := 0
MODULE_NAME := wacom

ifeq ($(RHEL7_RELEASE),4)
MODULE_NAME := hid-wacom
endif # RHEL7_RELEASE

############################ kernel specific compile ###############################
ifneq ($(KERNELRELEASE),)
# We were called by kbuild
# Do NOT indent stuff in this part! It has to be like this to make the
# $(error ... ) stuff work

ifneq ($(CONFIG_HID_WACOM),y)
WCM_VERSION := $(shell cd $(KBUILD_EXTMOD)/.. && ./git-version-gen)
ccflags-y := -DWACOM_VERSION_SUFFIX=\"-$(WCM_VERSION)\" -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers $(EXTRA_CFLAGS)
$(MODULE_NAME)-objs := wacom_wac.o wacom_sys.o
obj-m += $(MODULE_NAME).o
obj-m += wacom_w8001.o
else
$(error You requested to build wacom with configure, but wacom is configured as built-in in your kernel config)
endif # CONFIG_HID_WACOM

LINUXINCLUDE := $(subst -I, -isystem, $(LINUXINCLUDE))

else  # We were called from command line
PWD  := $(shell pwd)
UPDATE_INITRAMFS := $(shell command -v update-initramfs 2>/dev/null)
DRACUT := $(shell command -v dracut 2>/dev/null)

WCM_KERNEL_DIR := /lib/modules/5.4.18-53-generic/build
MODUTS := 5.4.18-53-generic
WCM_KERNEL_VER := 4.5
MODSIGN_HASHALGO := sha1
MODSIGN_PRIVFILE := 
MODSIGN_CERTFILE := 

MODSIGN_COMMAND :=
ifneq ($(strip $(MODSIGN_HASHALGO)),)
ifneq ($(strip $(MODSIGN_PRIVFILE)),)
ifneq ($(strip $(MODSIGN_CERTFILE)),)
MODSIGN_COMMAND := "$(WCM_KERNEL_DIR)/scripts/sign-file" "$(MODSIGN_HASHALGO)" "$(MODSIGN_PRIVFILE)" "$(MODSIGN_CERTFILE)"
endif
endif
endif

all:
	@echo '    Building input-wacom drivers for $(WCM_KERNEL_VER) kernel.'
	$(MAKE) -C $(WCM_KERNEL_DIR) M=$(PWD)

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

signature: all
	$(MODSIGN_COMMAND) $(MODULE_NAME).ko
	$(MODSIGN_COMMAND) wacom_w8001.ko

install modules_install:
	$(MAKE) -C $(WCM_KERNEL_DIR) M=$(PWD) modules_install mod_sign_cmd='$(MODSIGN_COMMAND)'
	mkdir -p /etc/depmod.d
	echo "override $(MODULE_NAME) * extra" > /etc/depmod.d/input-wacom.conf
	echo "override wacom_w8001 * extra" >> /etc/depmod.d/input-wacom.conf
	PATH="$(PATH):/bin:/sbin" depmod -a $(MODUTS)
ifdef UPDATE_INITRAMFS
	$(UPDATE_INITRAMFS) -u -k $(MODUTS)
endif
ifdef DRACUT
	echo 'add_drivers+=" wacom wacom_w8001 "' > /etc/dracut.conf.d/input-wacom.conf
	$(DRACUT) -f --kver=$(MODUTS)
endif

uninstall:
	@# Debian uses symlinks in the path to WCM_KERNEL_DIR
	@# which causes trouble for tools like 'rm' which don't
	@# see the path how you might think. As a workaround,
	@# first cd into the directory and then remove.
	cd $(WCM_KERNEL_DIR)/../extra; rm $(MODULE_NAME).ko*
	cd $(WCM_KERNEL_DIR)/../extra; rm wacom_w8001.ko*
	rm -f /etc/depmod.d/input-wacom.conf
	PATH="$(PATH):/bin:/sbin" depmod -a $(MODUTS)
ifdef UPDATE_INITRAMFS
	$(UPDATE_INITRAMFS) -u -k $(MODUTS)
endif
ifdef DRACUT
	rm -f /etc/dracut.conf.d/input-wacom.conf
	$(DRACUT) -f --kver=$(MODUTS)
endif

endif  # End kbuild check

######################### Version independent targets ##########################

distclean: clean

DISTFILES = wacom.h wacom_sys.c wacom_w8001.c wacom_wac.c wacom_wac.h

distdir:
	for file in $(DISTFILES); do \
	    cp -fpR ./$$file "$(distdir)" || exit 1; \
	done

EMPTY_AUTOMAKE_TARGETS = install-data install-exec uninstall install-info
EMPTY_AUTOMAKE_TARGETS += installdirs check dvi pdf ps info html tags ctags mostlyclean maintainer-clean
EMPTY_AUTOMAKE_TARGETS += signature
.PHONY: $(EMPTY_AUTOMAKE_TARGETS)
	$(EMPTY_AUTOMAKE_TARGETS):
