#!/usr/bin/make -f

module_name := 3dfx
source_name := device3dfx
module_version := 2.3
package_name := $(source_name)-modules-$(KVERS)
package_version := $(module_version)-1
package_dir := debian/$(package_name)

kdist_image: clean
	set -e; \
	test -n "$(KVERS)"; \
	test -n "$(KSRC)"; \
	echo "== Building $(module_name) for kernel $(KVERS) =="; \
	echo "== KSRC=$(KSRC) =="; \
	$(MAKE) KSRC="$(KSRC)" KHEADERS="$(KSRC)/include" modules; \
	test -f kbuild/$(module_name).ko; \
	rm -rf "$(package_dir)"; \
	mkdir -p "$(package_dir)/DEBIAN"; \
	mkdir -p "$(package_dir)/lib/modules/$(KVERS)/extra"; \
	cp kbuild/$(module_name).ko "$(package_dir)/lib/modules/$(KVERS)/extra/$(module_name).ko"; \
	sed \
		-e 's|@PACKAGE_NAME@|$(package_name)|g' \
		-e 's|@PACKAGE_VERSION@|$(package_version)|g' \
		-e 's|@KERNEL_RELEASE@|$(KVERS)|g' \
		debian/control.in > "$(package_dir)/DEBIAN/control"; \
	sed \
		-e 's|@KERNEL_RELEASE@|$(KVERS)|g' \
		debian/postinst.in > "$(package_dir)/DEBIAN/postinst"; \
	sed \
		-e 's|@KERNEL_RELEASE@|$(KVERS)|g' \
		debian/postrm.in > "$(package_dir)/DEBIAN/postrm"; \
	chmod 0755 "$(package_dir)/DEBIAN/postinst" "$(package_dir)/DEBIAN/postrm"; \
	dpkg-deb --build "$(package_dir)" ..; \
	echo "== Package created: ../$(package_name)_$(package_version)_i386.deb =="

clean:
	rm -rf debian/device3dfx-modules-* \
	       kbuild/3dfx.ko \
	       kbuild/3dfx.o \
	       kbuild/3dfx.mod.c \
	       kbuild/3dfx.c \
	       kbuild/.3dfx*.cmd \
	       kbuild/Module.symvers \
	       kbuild/modules.order \
	       kbuild/.tmp_versions
	-$(MAKE) clean