.PHONY: all clean generatebuildinfo

all: generatebuildinfo
	$(MAKE) -C src

# run depmod for debian (somehow System.map missing)
install: unload
	$(MAKE) -C src install
	depmod -a
	echo ubernic > /etc/modules-load.d/ubernic.conf
	echo 'KERNEL=="ubernic*", GROUP="lms", MODE="0666"' > /etc/udev/rules.d/ubernic.rules
	echo 'KERNEL=="uber_ptp_*", GROUP="lms", MODE="0666"' >> /etc/udev/rules.d/ubernic.rules
	udevadm control --reload-rules && udevadm trigger

uninstall: unload
	$(MAKE) -C src uninstall
	rm /etc/modules-load.d/ubernic.conf
	rm /etc/udev/rules.d/ubernic.rules
	udevadm control --reload-rules && udevadm trigger

clean:
	$(MAKE) -C src clean

dkms: generatebuildinfo dkms-remove
	mkdir -p        /usr/src/ubernic-0.1/
	cp -R src       /usr/src/ubernic-0.1/
	cp -R dkms.conf /usr/src/ubernic-0.1/
	-dkms remove -q --all ubernic/0.1
	dkms add ubernic/0.1
	dkms build ubernic/0.1
	dkms install ubernic/0.1
	modprobe ubernic
	modinfo ubernic

dkms-remove:
	-modprobe -r ubernic
	-dkms remove -q --all ubernic/0.1
	rm -rf /usr/src/ubernic-0.1

unload:
	@if lsmod | grep -wq ubernic && ! modprobe -r ubernic; then \
		echo "Error: module ubernic is in use, cannot remove"; exit 1; \
	fi


src/BUILD_INFO.h:
	$(shell utils/gen_build_info.sh)

generatebuildinfo: src/BUILD_INFO.h


#TODO rpm:
