#------------------------------------------------------------------------------
#   Makefile for MOXA UPort series drvier
#-------------------------------------------------------------------------------
KVER	 := $(shell uname -r)
KDISVER  := $(shell uname -a)
KVER_MAJOR := $(shell uname -r | cut -f1 -d.)
KVER_MINOR := $(shell uname -r | cut -f2 -d.)
KDIR	 := /lib/modules/$(KVER)/build
PWD	 := $(shell pwd)
TARGET	 := mxusbserial
EXTR_CFLAGS   += -DEXPORT_SYMTAB

$(if $(shell ([ $(KVER_MAJOR) -lt 4 ] && echo "OK" ) || ( [ $(KVER_MAJOR) -eq 4 ] && [ $(KVER_MINOR) -lt 12 ] && echo "OK")), \
$(eval TARGET_OBJ := mxbus.o mxgeneric-0.o mxusb-serial-0.o ), \
$(eval TARGET_OBJ := mxbus.o mxgeneric-12.o mxusb-serial-12.o ))

all:	module

install: $(TARGET).o
	@mkdir -p /lib/modules/$(KVER)/kernel/drivers/usb/serial
	@cp -f ./$(TARGET).ko /lib/modules/$(KVER)/kernel/drivers/usb/serial
	@mkdir -p /lib/modules/$(KVER)/misc/
	@cp -f ./$(TARGET).ko /lib/modules/$(KVER)/misc/
	@depmod -a

dkms_install: $(TARGET).o
	@depmod -a

ifneq ($(KERNELRELEASE),)
obj-m := $(TARGET).o
$(TARGET)-objs := $(TARGET_OBJ) 
else
module:
	$(MAKE) EXTRA_CFLAGS=$(MXPARM) -C $(KDIR) SUBDIRS=$(PWD) modules 
endif

remove:
	@rm -f /lib/modules/$(KVER)/kernel/drivers/usb/serial/$(TARGET).ko
	@rm -f /lib/modules/$(KVER)/misc/$(TARGET).ko
	@if lsmod | grep -q $(TARGET) ; then \
		rmmod $(TARGET); \
	 fi
	@depmod -a

clean: 
	@rm -f compile-msg 
	@rm -f *.o
	@rm -f .*.o.d
	@rm -f *.o.ur-safe
	@rm -f .*.o.cmd
	@rm -f *.symvers
	@rm -f *.order
	@rm -rf ./.tmp_versions
	@rm -f $(TARGET).mod*
	@rm -f .$(TARGET)*
	@rm -f $(TARGET).ko


