# kernel driver for BLINKENmini
#  - character device kernel module for input from and output to BLINKENmini using the parallel port
# version 1.1.92 date 2006-01-08
# Copyright (C) 2002-2006 sphaera & 1stein (http://blinkenmini.schuermans.info/)
# Copyleft: GNU public license - http://www.gnu.org/copyleft/gpl.html

KERNEL_VER  := $(shell uname -r)
KERNEL_VERS := $(shell uname -r | sed 's/^\([0-9]\+\.[0-9]\+\).*/\1/')
KERNEL_LINK := $(shell test -e /lib/modules/${KERNEL_VER}/source/ && echo source || echo build)
KERNEL_SRC  := /lib/modules/$(KERNEL_VER)/$(KERNEL_LINK)
PWD := $(shell pwd)
EXTRA_CFLAGS=-Wall

CC_2_4 = gcc
CFLAGS_2_4 = -O2 $(EXTRA_CFLAGS)
MODFLAGS_2_4 = -I$(KERNEL_SRC)/include -DMODULE -D__KERNEL__

obj-m := bmdrv.o

default:
	make default_$(KERNEL_VERS)

default_2.4:
	$(CC_2_4) $(CFLAGS_2_4) $(MODFLAGS_2_4) -c bmdrv.c -o bmdrv.o

default_2.6:
	$(MAKE) -C $(KERNEL_SRC) SUBDIRS=$(PWD) modules

clean:
	rm -f *.[oas] .*.flags *.ko .*.cmd .*.d .*.tmp *.mod.c 
	rm -rf .tmp_versions
