#  module uses inb/outb so -Ox parameter is needed
#
CC=gcc -O2

all:	generic pcl731 pcm3724
		

generic:	i8255.c i8255.h
		$(CC) -c -o i8255.o i8255.c -DGENERIC_I8255
		
pcl731:		i8255.c i8255.h
		$(CC) -c -o pcl731.o i8255.c -DADVANTECH_PCL731
		
pcm3724:	i8255.c i8255.h
		$(CC) -c -o pcm3724.o i8255.c -DADVANTECH_PCM3724

test:	main.c
	$(CC) -g -o test main.c

in:
	/sbin/insmod ./i8255.o

out:
	/sbin/rmmod i8255

devices:
	mknod /dev/i8255a c 64 0
	mknod /dev/i8255b c 64 1
	mknod /dev/i8255c c 64 2
	mknod /dev/i8255d c 64 3
	mknod /dev/i8255e c 64 4
	mknod /dev/i8255f c 64 5
	mknod /dev/i8255g c 64 6
	mknod /dev/i8255h c 64 7
	mknod /dev/pcl731a c 63 0
	mknod /dev/pcl731b c 63 1
	mknod /dev/pcl731c c 63 2
	mknod /dev/pcl731d c 63 3
	mknod /dev/pcl731e c 63 4
	mknod /dev/pcl731f c 63 5
	mknod /dev/pcl731g c 63 6
	mknod /dev/pcl731h c 63 7
	mknod /dev/pcm3724a c 62 0
	mknod /dev/pcm3724b c 62 1
	mknod /dev/pcm3724c c 62 2
	mknod /dev/pcm3724d c 62 3
	mknod /dev/pcm3724e c 62 4
	mknod /dev/pcm3724f c 62 5
	mknod /dev/pcm3724g c 62 6
	mknod /dev/pcm3724h c 62 7

	
install:
	cp i8255.o /lib/modules/2.0.32/misc/i8255.o

install_kerneldconf:
	echo "#----i8255 module-----" >> /etc/conf.modules
	echo "alias char-major-64 i8255" >> /etc/conf.modules
	echo "alias char-major-63 pcl731" >> /etc/conf.modules
	echo "alias char-major-62 pcm3724" >> /etc/conf.modules
	echo "#options i8255 ioport=enter options and remove first character" >> /etc/conf.modules
	echo "#options pcl731 ioport=enter options and remove first character" >> /etc/conf.modules
	echo "#options pcm3724 ioport=enter options and remove first character" >> /etc/conf.modules
	echo "#----i8255 end--------" >> /etc/conf.modules
		
clean:
	rm -f core
	rm -f test

cleaner:	clean
	rm -f *.o

ksyms:
	gcc -E -D__KERNEL__ -D__GENKSYMS__ -DCONFIG_MODVERSIONS -DEXPORT_SYMTAB advpcl731.c | /sbin/genksyms > advpcl731.ver

dist-l:	cleaner
	rm -f i8255-lastest.tar.gz
	cvs export -d i8255 -D now i8255
	tar -v -z -c -f i8255-latest.tar.gz i8255/*
	rm -f i8255/*
	rmdir i8255
	

dist-r:	cleaner
	rm -f i8255-version.tar.gz
	cvs export -d i8255 -r "Basic" i8255
	tar -v -z -c -f i8255-version.tar.gz i8255/*
	rm -f i8255/*
	rmdir i8255
