TARGET := isx031
OVERLAY := isx031

KDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
DTS_CPP := $(OVERLAY)-overlay.preprocessed.dts

obj-m += $(TARGET).o

.PHONY: all modules overlay clean

all: modules overlay

modules:
	@test -d "$(KDIR)" || { echo "Kernel headers not found: $(KDIR)"; exit 1; }
	$(MAKE) -C "$(KDIR)" M="$(PWD)" modules

overlay: $(OVERLAY).dtbo

$(OVERLAY).dtbo: $(OVERLAY)-overlay.dts
	cpp -nostdinc -undef -D__DTS__ -x assembler-with-cpp \
		-I"$(KDIR)/include" \
		$< > "$(DTS_CPP)"
	dtc -@ -I dts -O dtb -o $@ "$(DTS_CPP)"

clean:
	@if [ -d "$(KDIR)" ]; then $(MAKE) -C "$(KDIR)" M="$(PWD)" clean; fi
	rm -f "$(DTS_CPP)" "$(OVERLAY).dtbo"
