# SPDX-License-Identifier: GPL-2.0

KDIR ?= /lib/modules/`uname -r`/build
FDIR ?= /lib/firmware/senscomm

VERSION_STRING := `git describe --tags`
DATE_STRING := `date "+20%y.%m.%d %k:%M"`

ifneq ($(GIT), )

ifeq ($(SILICON), scm2020_z1)
auto_version:
	@`touch auto_version.h`
	@echo "/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */" > auto_version.h
	@echo "#define DRIVER_VERSION \"$(VERSION_STRING)\"" >> auto_version.h
	@echo "#define DRIVER_DATE \"$(DATE_STRING)\""	>> auto_version.h
	@./scripts/gen-reg.sh ./scm2020/v0.8.4 > regs.h
	@cp ./scm2020/v0.8.4/jjh_mac_bdc6fede_FPGA_v0.8.4_patch_20210525.bin ./firmware/scm2020.bin
else
auto_version:
	@echo "start to build Senscomm WIFI/BT moudles"
	@`touch auto_version.h`
	@echo "/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */" > auto_version.h
	@echo "#define DRIVER_VERSION \"$(VERSION_STRING)\"" >> auto_version.h
	@echo "#define DRIVER_DATE \"$(DATE_STRING)\""	>> auto_version.h
endif

restore:
	@echo "restore files"
	@git checkout regs.h
	@git checkout firmware/scm2020.bin

else

auto_version:
	@echo "start to build Senscomm WIFI/BT moudles"
ifneq ($(wildcard .git), )
	@`sed -i "/DRIVER_VERSION/d" auto_version.h`
	@echo "#define DRIVER_VERSION \"$(VERSION_STRING)\"" >> auto_version.h
endif
	@`sed -i "/DRIVER_DATE/d" auto_version.h`
	@echo "#define DRIVER_DATE \"$(DATE_STRING)\""	>> auto_version.h

restore:
	@echo "clean up build files"
endif

default, modules: auto_version
	$(MAKE) -C $(KDIR) M=$$PWD

clean: restore
	rm -rf *.o *.ko .*.cmd *.mod.c *.mod

install:
	$(MAKE) -C $(KDIR) M=$$PWD modules_install
	depmod -aA
	install -m0644 -o root -g root -D -t $(FDIR) firmware/*.bin

.PHONY: modules
