KERNEL_SRC = /lib/modules/$(shell uname -r)/source
BUILD_DIR := $(shell pwd)
DTC_DIR = /lib/modules/$(shell uname -r)/build/scripts/dtc/
VERBOSE = 0

OBJS    = snd-soc-es90x8q2m-i2c.o snd-soc-es90x8q2m-dac.o

obj-m := $(OBJS)

all:
	make -C $(KERNEL_SRC) SUBDIRS=$(BUILD_DIR) KBUILD_VERBOSE=$(VERBOSE) modules

clean:
	make -C $(KERNEL_SRC) SUBDIRS=$(BUILD_DIR) clean
	rm -f ies90x8q2m-dac-overlay.dtb
	rm -f es90x8q2m-dac.dtbo

dtbs:
	$(DTC_DIR)/dtc -@ -I dts -O dtb -o es90x8q2m-dac-overlay.dtbo es90x8q2m-dac-overlay.dts
	$(DTC_DIR)/dtc -@ -H epapr -I dts -O dtb -o es90x8q2m-dac.dtbo es90x8q2m-dac-overlay.dts

modules_install:
	cp snd-soc-es90x8q2m-i2c.ko /lib/modules/$(shell uname -r)/kernel/sound/soc/codecs/
	cp snd-soc-es90x8q2m-dac.ko /lib/modules/$(shell uname -r)/kernel/sound/soc/bcm/
	depmod -a

modules_remove:
	rm /lib/modules/$(shell uname -r)/kernel/sound/soc/codecs/snd-soc-es90x8q2m-i2c.ko
	rm /lib/modules/$(shell uname -r)/kernel/sound/soc/bcm/snd-soc-es90x8q2m-dac.ko
	depmod -a

install:
	modprobe snd-soc-es90x8q2m-i2c
	modprobe snd-soc-es90x8q2m-dac

remove:
	modprobe -r snd-soc-es90x8q2m-dac
	modprobe -r snd-soc-es90x8q2m-i2c

# Kernel 4.1.y
install_dtb:
	cp es90x8q2m-dac-overlay.dtb /boot/overlays/

# Kernel 4.4.y
install_dtbo:
	cp es90x8q2m-dac.dtbo /boot/overlays/

remove_dtb:
	rm -f /boot/overlays/es90x8q2m-dac-overlay.dtb
	rm -f /boot/overlays/es90x8q2m-dac.dtbo
