# Makefile for SRND
# A driver for the miroMEDIA Surround Dolby Pro Logic decoder

# Major device number (110 = miroMEDIA Surround) 
SRND_MAJOR := 110

# Maximum number of miroMEDIA Surround boards installed
SRND_MAXDEV := 4

# Default I/O port for the Surround board
SRND_DEFIO := 0x300

# Target location for SRND include file
SRND_INCLUDE := /usr/local/include

# Target location for SRND manual page
SRND_MANDIR := /usr/local/man

# Section for manual page (4 = Devices)
SRND_MANSEC := 4

# Location of the kernel sources
KERNEL_LOCATION := /usr/src/linux

#################### END OF USER-SERVICEABLE PART ########################

TARGET := srnd

KERNEL_VERSION := $(shell uname -r)

MODULE_DIR := $(shell test -d "/lib/modules/$(KERNEL_VERSION)/kernel" && \
	echo "/lib/modules/$(KERNEL_VERSION)/kernel/drivers/char" || \
	echo "/lib/modules/$(KERNEL_VERSION)/misc")

M_OBJS := $(TARGET).o

obj-m := $(TARGET).o

EXTRA_CFLAGS :=	-DSRND_MAJOR=$(SRND_MAJOR) -DSRND_MAXDEV=$(SRND_MAXDEV) \
		-DSRND_DEFIO=$(SRND_DEFIO)

srnd:
	SRNDDIR=`pwd`; make -C $(KERNEL_LOCATION) SUBDIRS=$$SRNDDIR modules

dev:
	-rm -f /dev/srnd*
	-mknod -m 666 /dev/srnd0 c $(SRND_MAJOR) 0
	-mknod -m 666 /dev/srnd1 c $(SRND_MAJOR) 1
	-mknod -m 666 /dev/srnd2 c $(SRND_MAJOR) 2
	-mknod -m 666 /dev/srnd3 c $(SRND_MAJOR) 3
	-(cd /dev; ln -sf srnd0 srnd)

install: dev
	-install -m 644 $(TARGET).o $(MODULE_DIR)
	-install -m 644 $(TARGET).h $(SRND_INCLUDE)
	-install -m 644 $(TARGET).man $(SRND_MANDIR)/man$(SRND_MANSEC)/$(TARGET).$(SRND_MANSEC)

uninstall:
	-rm -f /dev/srnd*
	-rm -f $(MODULE_DIR)/$(TARGET).o
	-rm -f $(SRND_INCLUDE)/$(TARGET).h
	-rm -f $(SRND_MANDIR)/man$(SRND_MANSEC)/$(TARGET).$(SRND_MANSEC)

modprobe:
	-modprobe -r srnd
	-modprobe srnd io=$(SRND_DEFIO)

clean:
	-rm -f $(TARGET).o .$(TARGET).o.flags 

include $(KERNEL_LOCATION)/Rules.make
