# Makefile for the PSE class driver (and the LTC4266 device driver)

ROOT?=$(abspath ../../../)
include $(ROOT)/Makefile.config
SYS_PATH = $(CPKERN)
DESTDIR = $(ROOT)/$(IMGDIR)/rootfs/lib/modules/extra/
export PRODUCT
unexport CC CPP LD CFLAGS CPPFLAGS LDFLAGS AR RANLIB CPDEFINES

default: install

all:
	$(MAKE) -C $(CPKERN) ARCH=$(ARCH) M=$(CURDIR)

install: all
	$(MAKE) -C $(CPKERN) M=$(CURDIR) INSTALL_MOD_PATH=$(ROOT)/$(IMGDIR)/rootfs ARCH=$(ARCH) KERNEL_VERSION="4.4" modules_install

kernel-tags:
	$(MAKE) -C $(CPKERN) tags

tags: kernel-tags
	ctags -R .

clean:
	$(MAKE) -C $(CPKERN) M=$(CURDIR) clean

checkpatch:
	$(CPKERN)/scripts/checkpatch.pl --no-tree --no-signoff --file *.c *.h ltc4266/*.h ltc4266/*.c tps23880/*.h tps23880/*.c --ignore Long_Line --ignore Long_Line_Comment --show-types

