-include $(ROOTDIR)/.config
CONFIG_PRODUCT=mc1100
#CONFIG_PRODUCT=da720
PKG_ARCH=amd64
PKG_VERSION=1.0
DPKGDIR?=.
MOXA_PACKAGE_DIR=fakeroot

KDIR:=/lib/modules/`uname -r`/build
#KDIR=`pwd`/../../kernel/linux-4.6
KERNEL_VER=`uname -r`
MOXA_PACKAGE_DIR=fakeroot
TARGET_MODULE = misc-moxa-$(CONFIG_PRODUCT)
EXTRA_CFLAGS = -DSUPPORT_GPIOSYSFS
obj-m += $(TARGET_MODULE).o

.PHONY: modules clean romfs

modules: $(TARGET_MODULE).ko

$(TARGET_MODULE).ko: $(TARGET_MODULE).c 
	@echo "Making modules $(TARGET_MODULE).ko ..."
	$(MAKE) -C $(KDIR) M=`pwd` modules

clean:
	$(MAKE) -C $(KDIR) M=`pwd` clean
	rm -rf $(MOXA_PACKAGE_DIR)/lib \
	$(MOXA_PACKAGE_DIR)/sbin \
	$(CONFIG_PRODUCT)-misc-$(PKG_VERSION)_$(PKG_ARCH).deb

package:
	mkdir -p $(MOXA_PACKAGE_DIR)/lib/modules/$(KERNEL_VER)/kernel/drivers/misc \
	$(MOXA_PACKAGE_DIR)/sbin
	cp -a $(TARGET_MODULE).ko $(MOXA_PACKAGE_DIR)/lib/modules/$(KERNEL_VER)/kernel/drivers/misc/
	cp -a mx_gpio_export $(MOXA_PACKAGE_DIR)/sbin
	:> fakeroot/DEBIAN/control
	echo -n "Package: " > fakeroot/DEBIAN/control
	echo "$(CONFIG_PRODUCT)-gpio" | tr '[A-Z]' '[a-z]' >> fakeroot/DEBIAN/control
	echo "Version: $(PKG_VERSION)" >> fakeroot/DEBIAN/control
	echo "Section: kernel" >> fakeroot/DEBIAN/control
	echo "Priority: required" >> fakeroot/DEBIAN/control
	echo "Architecture: $(PKG_ARCH)" >> fakeroot/DEBIAN/control
	echo "Depends: linux-image-4.6.0-0.bpo.1-amd64" >> fakeroot/DEBIAN/control
	echo "Maintainer: Jared Wu <jared.wu@moxa.com>" >> fakeroot/DEBIAN/control
	echo "Description: Moxa $(CONFIG_PRODUCT) DI, DO and on board serial interface device control driver" >> fakeroot/DEBIAN/control
	dpkg -b fakeroot $(DPKGDIR)/$(CONFIG_PRODUCT)-misc-$(PKG_VERSION)_$(PKG_ARCH).deb
	rm -rf ../fakeroot/lib/modules/$(KERNEL_VER)
	# Sign the package
	dpkg-sig -v -k F7F3CD9E --sign builder $(DPKGDIR)/$(CONFIG_PRODUCT)-misc-$(PKG_VERSION)_$(PKG_ARCH).deb
	scp $(DPKGDIR)/$(CONFIG_PRODUCT)-misc-$(PKG_VERSION)_$(PKG_ARCH).deb moxa@10.144.5.164:/dev/shm/


romfs:
	mkdir -v -p "$(ROMFSDIR)/lib/modules/$(KERNEL_VER)/kernel/drivers/misc"
	$(ROMFSINST) -v $(TARGET_MODULE).ko "/lib/modules/$(KERNEL_VER)/kernel/drivers/misc"

install:
	mkdir -v -p "/lib/modules/$(KERNEL_VERSION)/kernel/drivers/misc"
	cp -a $(TARGET_MODULE).ko "/lib/modules/$(KERNEL_VERSION)/kernel/drivers/misc"
	depmod -a
	if [ -f /etc/modules ]; then \
		if [ "`grep -c $(TARGET_MODULE) /etc/modules`" == "0" ]; then \
			echo "$(TARGET_MODULE).ko" >> /etc/modules; \
		fi \
	elif [ -d /etc/sysconfig/modules ]; then \
		:> /etc/sysconfig/modules/$(TARGET_MODULE).modules; \
		echo "#!/bin/sh" >> /etc/sysconfig/modules/$(TARGET_MODULE).modules; \
		echo "modprobe $(TARGET_MODULE)" >> /etc/sysconfig/modules/$(TARGET_MODULE).modules; \
		chmod a+x /etc/sysconfig/modules/$(TARGET_MODULE).modules; \
	fi

uninstall:
	rm -f /lib/modules/$(KERNEL_VERSION)/kernel/drivers/misc/$(TARGET_MODULE).ko \
	/etc/sysconfig/modules/$(TARGET_MODULE).modules
	depmod -a

