m5602-objs := m5602_core.o \
	      m5602_v4l2.o \
	      m5602_ov9650.o \
	      m5602_s5k83a.o \
	      m5602_mt9m111.o \
	      m5602_s5k4aa.o \
	      m5602_po1030.o

obj-m += m5602.o

KDIR	:= /lib/modules/$(shell uname -r)/build
PWD	:= $(shell pwd)
VERSION = 0.5
DISTFILES = m5602.c \
	    m5602_v4l2.c \
	    m5602_ov9650.c \
	    m5602_ov9650.h \
	    m5602_s5k83a.c \
	    m5602_s5k83a.h \
	    m5602_s5k4aa.c \
	    m5602_s5k4aa.h \
	    m5602_mt9m111.c \
	    m5602_mt9m111.h \
	    m5602_po1030.c \
	    m5602_po1030.h \
	    m5602.h \
	    Makefile \
	    README \
	    COPYING \
	    INSTALL
DISTNAME = m5602-$(VERSION)
MODULENAME = m5602.ko

all:
	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
	@rm -f *.o *.ko .*.o.d *~ *.mod.c *.symvers .*.cmd *.order *.markers
	@rm -rf $(DISTNAME) .tmp_versions
	@rm -f $(DISTNAME).tar.bz2

load: load_dep
	sudo insmod ./$(MODULENAME)

load_debug:
	sudo insmod ./$(MODULENAME) debug=0xff

load_dep:
	sudo modprobe videodev
	sudo modprobe compat_ioctl32

reload: unload load

unload:
	sudo rmmod $(MODULENAME)

install:
	mkdir -p $(DESTDIR)/lib/modules/$(shell uname -r)/kernel/drivers/usb/media
	install -m 644 -o 0 -g 0 $(MODULENAME) $(DESTDIR)/lib/modules/$(shell uname -r)/kernel/drivers/usb/media
	depmod -a

dist:
	[ -d $(DISTNAME) ] && rm -rf $(DISTNAME) || true
	mkdir $(DISTNAME)
	cp -aR $(DISTFILES) $(DISTNAME)
	tar cjvf $(DISTNAME).tar.bz2 $(DISTNAME)
	rm -rf $(DISTNAME)
