CC = gcc

INC_PATH=/usr/src/linux-$(shell uname -r)/include
MOD_DIR = /lib/modules/$(shell uname -r)/kernel/drivers/char
MODULE=mtsi_upci_1.03

DEF = -D__KERNEL__ -DMODULE -DLINUX #-DKERNEL2_0  -DCPU=486 -march=i586 \
	#-DMODVERSIONS 
SMP= $(shell if [ "`uname -a | grep SMP`" = "" ]; then echo "UP"; else echo "SMP"; fi)

ATOMIC_CNT=$(shell if [ `grep atomic_t $(INC_PATH)/linux/tty.h | wc -l ` -gt 0 ]; then echo "Atomic"; else echo "Int"; fi)

#ATOMIC_CNT= /bin/sh if [ `grep atomic_t "$(INC_PATH)"/linux/tty.h | wc -l ` -gt 0 ] then echo "Atomic" else echo "Int" fi


ifeq ($(SMP),SMP)
	DEF += -D__SMP__
endif

ifeq ($(ATOMIC_CNT),Atomic)
	DEF += -DATOMIC_COUNT 
endif


CFLAGS= $(DEF) -O2 -Wall -Wstrict-prototypes -fomit-frame-pointer -I$(INC_PATH)



all: mtsi_upci.o resetport

mtsi_upci.o: mtsi_upci.c
	$(CC) $(CFLAGS) -c $<  2>./err.log
	@ln -sf mtsi_upci.c serial.c

resetport: resetport.c
	$(CC) -Wall  -o $@ $<

install: all
#	if cp mtsi_upci.o $(MOD_DIR) ; then echo "Copied mtsi_upci.o to" \
#	$(MOD_DIR); fi;
#	csh ./mknod_csh
	@sh ./rc.mtsi_upci
	@sh ./mknod_script

load:
	@echo -n "Loading of mtsi_upci ..."
	@/sbin/insmod -f -o $(MODULE) ./mtsi_upci.o  1> /dev/null 
	@echo "done"	

unload:
	@echo -n "Unload of mtsi_upci ..."
	@/sbin/rmmod $(MODULE)
	@echo "done"	

uninstall: remove

remove: unload
	@echo "Removing file " $(MOD_DIR)/mtsi_upci.o
	/bin/rm -f $(MOD_DIR)/mtsi_upci.o
	@sh ./rc.remove
	
clean:
	rm -f *~ *.o resetport *.log serial.c



