# Makefile for the MMCDev module

CC        = gcc # *NAO* mude para kgcc porque nao ira' funcionar no Caldera !!!
MODCFLAGS = -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -DEXPORT_SYMTAB
INCLUDE   = -I. -I../src -I../../include -I../../../include
OBJS      = ./objs
KERNELMAJ = $(shell uname -r | sed                   -e 's,\..*,,')
KERNELMIN = $(shell uname -r | sed -e 's,[^\.]*\.,,' -e 's,\..*,,')

ifeq ($(KERNELMAJ),2)
ifeq ($(KERNELMIN),2)
INCLUDE += -I/usr/src/linux/include
else
ifeq ($(KERNELMIN),4)
INCLUDE += -I/usr/src/linux-2.4/include
else
unknown_kernel:
	@echo Unknown kernel version $(KERNELMAJ).$(KERNELMIN).x
	@exit 1
endif
endif
else
unknown_kernel:
	@echo Unknown kernel version $(KERNELMAJ).$(KERNELMIN).x
	@exit 1
endif

all : directories mmcdev.o

mmcdev.o : $(OBJS)/main.o $(OBJS)/mmcdata.o $(OBJS)/mmcdrv_m.o \
	$(OBJS)/osdepdrv.o
	ld -m elf_i386 -r -o mmcdev.o $(OBJS)/main.o $(OBJS)/mmcdata.o \
                                    $(OBJS)/mmcdrv_m.o $(OBJS)/osdepdrv.o

$(OBJS)/main.o : main.c /usr/include/linux/version.h
	$(CC) $(MODCFLAGS) $(INCLUDE) -o $(OBJS)/main.o -c main.c

$(OBJS)/mmcdata.o : ../src/mmcdata.c /usr/include/linux/version.h
	$(CC) $(MODCFLAGS) $(INCLUDE) -o $(OBJS)/mmcdata.o -c ../src/mmcdata.c

$(OBJS)/mmcdrv_m.o : ../src/mmcdrv_m.c /usr/include/linux/version.h
	$(CC) $(MODCFLAGS) $(INCLUDE) -o $(OBJS)/mmcdrv_m.o -c ../src/mmcdrv_m.c

$(OBJS)/osdepdrv.o : ../src/osdepdrv.c /usr/include/linux/version.h
	$(CC) $(MODCFLAGS) $(INCLUDE) -o $(OBJS)/osdepdrv.o -c ../src/osdepdrv.c
        
clean:
	rm -f $(OBJS)/*.o *.o

#
# Rule to make all needed directories
#
directories:
	if [ ! -d $(OBJS) ]; then mkdir $(OBJS); fi

.PHONY: clean directories
