

##############################################################
ifeq	"$(findstring 2.6, $(shell uname -a))" "2.6"

all: module oncellreald tools
SP1: module oncellreald tools
ssl: module SSLoncellreald tools
SP1_ssl: module SSLoncellreald tools
ssl64: module SSL64oncellreald tools
SP1_ssl64: module SSL64oncellreald tools
ppc64: module ppc64oncellreald tools

oncellreald: 	oncellreald.o
	cc	oncellreald.o -o oncellreald
	strip	oncellreald

oncellreald.o:	oncellreald.c
	$(CC) -c oncellreald.c

SSLoncellreald: 	SSLoncellreald.o
	cc	oncellreald.o -o oncellreald libssl.so 
	strip	oncellreald

SSLoncellreald.o:	oncellreald.c
	$(CC) -c -DSSL_ON -DOPENSSL_NO_KRB5 oncellreald.c -I/tmp/oncell_realtty/include
	
SSL64oncellreald: 	SSL64oncellreald.o
	cc	-m64 oncellreald.o -o oncellreald libssl.so 
	strip	oncellreald

SSL64oncellreald.o:	oncellreald.c
	$(CC) -c -m64 -DSSL_ON -DOPENSSL_NO_KRB5 oncellreald.c -I/tmp/oncell_realtty/include
	
ppc64oncellreald: 	ppc64oncellreald.o
	cc	-mpowerpc64 oncellreald.o -o oncellreald libssl.so 
	strip	oncellreald

ppc64oncellreald.o:	oncellreald.c
	$(CC) -c -mpowerpc64 -DSSL_ON -DOPENSSL_NO_KRB5 oncellreald.c -I/tmp/oncell_realtty/include

ifeq	"$(findstring 2.6.15-1.2054, $(shell uname -r))" "2.6.15-1.2054"
CFLAGS  += -DFEDORA
endif

ifneq ($(KERNELRELEASE),)
obj-m := oncellreal.o
else
KDIR	:= /lib/modules/$(shell uname -r)/build
PWD	:= $(shell pwd)

module:
	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
	cp -p oncellreal.ko /lib/modules/$(shell uname -r)/kernel/drivers/char/
	cp -p oncellreal.ko /lib/modules/$(shell uname -r)/misc/
	depmod -a

endif

tools: mxaddsvr mxdelsvr mxcfmat mxloadsvr mxsetsec

mxaddsvr: mxaddsvr.c
	$(CC) -o mxaddsvr mxaddsvr.c
	strip mxaddsvr

mxdelsvr: mxdelsvr.c
	$(CC) -o mxdelsvr mxdelsvr.c
	strip mxdelsvr

mxcfmat: mxcfmat.c
	$(CC) -o mxcfmat mxcfmat.c
	strip mxcfmat

mxloadsvr: mxloadsvr.c
	$(CC) -o mxloadsvr mxloadsvr.c
	strip mxloadsvr
	
mxsetsec: mxsetsec.c
	$(CC) -o mxsetsec mxsetsec.c
	strip mxsetsec
	
clean:
	rm -f *.o
	rm -rf ./.tmp_versions
	rm -f oncellreal.mod*
	rm -f .oncellreal*
	rm -f oncellreal.ko
	rm -f oncellreald
	rm -f /lib/modules/$(shell uname -r)/kernel/drivers/char/oncellreal.ko
	rm -f /lib/modules/$(shell uname -r)/misc/oncellreal.ko
	rm -f mxaddsvr
	rm -f mxdelsvr
	rm -f mxcfmat
	rm -f mxloadsvr
	rm -f mxsetsec
	rm -f Module.symvers
	rm -f libssl.so
	

else      #Linux 2.4########################################

CC=cc -DLINUX
ARCH=$(shell uname -m | sed s/i.86/i86/)
VERSION=$(shell uname -r | sed s/smp//)

ifeq	($(ARCH),i86)
OPTS=-DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 \
-fomit-frame-pointer -pipe -march=i486 \
-I/usr/src/linux-$(VERSION)/include -I/usr/src/linux-2.4/include -I/usr/src/linux/include
else
ifeq	($(ARCH),x86_64)
OPTS=-DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 \
-fomit-frame-pointer -pipe -m64 -mcmodel=kernel \
-I/usr/src/linux-$(VERSION)/include -I/usr/src/linux-2.4/include -I/usr/src/linux/include
else 
OPTS=-DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 \
-fomit-frame-pointer -pipe -I/usr/src/linux/include -ffixed-8
endif
endif


ifeq	"$(findstring SMP, $(shell uname -a))" "SMP"
OPTS+=-D__SMP__
endif



all: module oncellreald tools
SP1: modulesp1 oncellreald tools
ssl: module SSLoncellreald tools
SP1_ssl: modulesp1 SSLoncellreald tools
ssl64: module SSL64oncellreald tools
SP1_ssl64: modulesp1 SSL64oncellreald tools
ppc64: modulesp1 ppc64oncellreald tools

SSLoncellreald: 	SSLoncellreald.o
	cc	oncellreald.o -o oncellreald libssl.so 
	strip	oncellreald

SSLoncellreald.o:	oncellreald.c
	$(CC) -c -DSSL_ON -DOPENSSL_NO_KRB5 oncellreald.c -I/tmp/oncell_realtty/include
	
SSL64oncellreald: 	SSL64oncellreald.o
	cc	-m64 oncellreald.o -o oncellreald libssl.so 
	strip	oncellreald

SSL64oncellreald.o:	oncellreald.c
	$(CC) -c -m64 -DSSL_ON -DOPENSSL_NO_KRB5 oncellreald.c -I/tmp/oncell_realtty/include
	
ppc64oncellreald: 	ppc64oncellreald.o
	cc	-mpowerpc64 oncellreald.o -o oncellreald libssl.so 
	strip	oncellreald

ppc64oncellreald.o:	oncellreald.c
	$(CC) -c -mpowerpc64 -DSSL_ON -DOPENSSL_NO_KRB5 oncellreald.c -I/tmp/oncell_realtty/include

oncellreald: 	oncellreald.o
	cc	oncellreald.o -o oncellreald
	strip	oncellreald

oncellreald.o:	oncellreald.c
	$(CC) -c oncellreald.c

module:
	$(CC) -c $(OPTS) oncellreal.c
	cp -p oncellreal.o /lib/modules/$(shell uname -r)/kernel/drivers/char/
	cp -p oncellreal.o /lib/modules/$(shell uname -r)/misc/
	depmod -a

modulesp1:
	$(CC) -c $(OPTS) -DSP1 oncellreal.c
	cp -p oncellreal.o /lib/modules/$(shell uname -r)/kernel/drivers/char/
	cp -p oncellreal.o /lib/modules/$(shell uname -r)/misc/
	depmod -a
	
tools: mxaddsvr mxdelsvr mxcfmat mxloadsvr mxsetsec

mxaddsvr: mxaddsvr.c
	$(CC) -o mxaddsvr mxaddsvr.c
	strip mxaddsvr

mxdelsvr: mxdelsvr.c
	$(CC) -o mxdelsvr mxdelsvr.c
	strip mxdelsvr

mxcfmat: mxcfmat.c
	$(CC) -o mxcfmat mxcfmat.c
	strip mxcfmat

mxloadsvr: mxloadsvr.c
	$(CC) -o mxloadsvr mxloadsvr.c
	strip mxloadsvr

mxsetsec: mxsetsec.c
	$(CC) -o mxsetsec mxsetsec.c
	strip mxsetsec

clean:
	rm -rf *.o
	rm -f oncellreald
	rm -f /lib/modules/$(shell uname -r)/kernel/drivers/char/oncellreal.ko
	rm -f /lib/modules/$(shell uname -r)/misc/oncellreal.ko
	rm -f mxaddsvr
	rm -f mxdelsvr
	rm -f mxcfmat
	rm -f mxloadsvr
	rm -f mxsetsec

endif
