-include $(ROOTDIR)/.config
#CONFIG_PRODUCT=DA-682A
PKG_ARCH=amd64
PKG_VERSION=1.0
MOXA_PACKAGE_DIR=fakeroot

#KDIR:=$(ROOTDIR)/$(LINUXDIR)
#KDIR=../../linux-3.2.x
KDIR=/lib/modules/`uname -r`/build

KERNEL_VERSION=`cat $(ROOTDIR)/$(LINUXDIR)/include/config/kernel.release`
#KERNEL_VERSION=`uname -r`

TARGET_MODULE = mxser
obj-m += $(TARGET_MODULE).o
TARGET_MODULE1 = mxupcie
obj-m += $(TARGET_MODULE1).o

ifeq ("$(CONFIG_PRODUCT)","V2616A")
EXTRA_CFLAGS += -DV2616A
endif

.PHONY: modules clean romfs

modules: $(TARGET_MODULE).ko $(TARGET_MODULE1).ko

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

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

clean:
	$(MAKE) -C $(KDIR) M=`pwd` clean
	rm -rf fakeroot/lib \
	fakeroot/DEBIAN/control \
	$(DPKGDIR)/$(CONFIG_PRODUCT)-mxser_$(PKG_VERSION)_$(PKG_ARCH).deb

package:
	mkdir -p $(MOXA_PACKAGE_DIR)/lib/modules/$(KERNEL_VERSION)/kernel/drivers/tty/
	cp $(TARGET_MODULE).ko $(MOXA_PACKAGE_DIR)/lib/modules/$(KERNEL_VERSION)/kernel/drivers/tty/
	cp $(TARGET_MODULE1).ko $(MOXA_PACKAGE_DIR)/lib/modules/$(KERNEL_VERSION)/kernel/drivers/tty/
	:> fakeroot/DEBIAN/control
	echo -n "Package: " > fakeroot/DEBIAN/control
	echo "$(CONFIG_PRODUCT)-mxser" | tr '[A-Z]' '[a-z]' >> fakeroot/DEBIAN/control
	echo "Version: $(PKG_VERSION)" >> fakeroot/DEBIAN/control
	echo "Section: base" >> fakeroot/DEBIAN/control
	echo "Priority: required" >> fakeroot/DEBIAN/control
	echo "Architecture: $(PKG_ARCH)" >> fakeroot/DEBIAN/control
ifeq ("$(CONFIG_PRODUCT)","DA-820")
	echo "Depends:linux-image-3.14-0.bpo.2-amd64" >> fakeroot/DEBIAN/control
else
	echo "Depends:linux-image-3.2.0-4-amd64" >> fakeroot/DEBIAN/control
endif
	echo "Maintainer: support <support@moxa.com.tw>" >> fakeroot/DEBIAN/control
	echo "Description: Moxa $(CONFIG_PRODUCT) MU-860 UART driver" >> fakeroot/DEBIAN/control
	dpkg -b fakeroot $(DPKGDIR)/$(CONFIG_PRODUCT)-mxser_$(PKG_VERSION)_$(PKG_ARCH).deb
	rm -rf ../fakeroot/lib/modules/$(KERNEL_VERSION)
	# Sign the package
	dpkg-sig -v -k F7F3CD9E --sign builder $(DPKGDIR)/$(CONFIG_PRODUCT)-mxser_$(PKG_VERSION)_$(PKG_ARCH).deb
	scp $(DPKGDIR)/$(CONFIG_PRODUCT)-mxser_$(PKG_VERSION)_$(PKG_ARCH).deb moxa@220.135.161.42:/dev/shm/

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

install:
	mkdir -v -p "/lib/modules/$(KERNEL_VERSION)/kernel/drivers/tty"
	cp -a $(TARGET_MODULE).ko $(TARGET_MODULE1).ko "/lib/modules/$(KERNEL_VERSION)/kernel/drivers/tty"
	depmod -a
	if [ -f /etc/modules ]; then \
		echo "$(TARGET_MODULE).ko" >> /etc/modules; \
		echo "$(TARGET_MODULE1).ko" >> /etc/modules; \
	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; \
		echo "modprobe $(TARGET_MODULE1)" >> /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/tty/$(TARGET_MODULE).ko \
	/lib/modules/$(KERNEL_VERSION)/kernel/drivers/tty/$(TARGET_MODULE1).ko \
	/etc/sysconfig/modules/$(TARGET_MODULE).modules
	depmod -a

