ERA_PATH       = ../../../../era
ERA_INCLUDE    = $(ERA_PATH)/include

SHARED_PATH    = $(ERA_PATH)/shared
SHARED_INCLUDE = $(SHARED_PATH)/include

MMCDRV_PATH    = $(SHARED_PATH)/mmc_api
MMCDRV_OBJS    = $(MMCDRV_PATH)/linux/objs

INCLUDE        = -I. -I$(ERA_INCLUDE) -I$(SHARED_INCLUDE)
OBJS           = ./objs

CC             = gcc
LD             = ld
CCFLAGS        = -Wall -O2 -DLINUX -D__KERNEL__ -DMODULE
#CCFLAGS        = -Wall -O2 -DLINUX -g
LDFLAGS        = -m elf_i386 -r

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 seldev.o

SHELL: directories seldev

seldev.o: $(OBJS)/proc_sel.o $(OBJS)/show_sel.o $(OBJS)/logtime.o $(OBJS)/mmc_dev.o $(OBJS)/mmc_func.o $(OBJS)/msg_sel.o $(OBJS)/sdrdesc.o
	$(LD) $(LDFLAGS) $(OBJS)/proc_sel.o $(OBJS)/show_sel.o $(OBJS)/logtime.o $(OBJS)/mmc_dev.o $(OBJS)/mmc_func.o $(OBJS)/msg_sel.o $(OBJS)/sdrdesc.o -o seldev.o

seldev: proc_sel.c $(OBJS)/show_sel.o $(OBJS)/logtime.o $(OBJS)/mmc_dev.o $(OBJS)/mmc_func.o $(OBJS)/msg_sel.o $(OBJS)/sdrdesc.o
	$(CC) $(CCFLAGS) $(INCLUDE) proc_sel.c  $(OBJS)/show_sel.o $(OBJS)/logtime.o $(OBJS)/mmc_dev.o $(OBJS)/mmc_func.o $(OBJS)/msg_sel.o $(OBJS)/sdrdesc.o -o seldev.o

$(OBJS)/proc_sel.o: proc_sel.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c proc_sel.c -o $(OBJS)/proc_sel.o

$(OBJS)/show_sel.o: show_sel.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c show_sel.c -o $(OBJS)/show_sel.o

$(OBJS)/logtime.o: logtime.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c logtime.c -o $(OBJS)/logtime.o

$(OBJS)/mmc_dev.o: mmc_dev.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c mmc_dev.c -o $(OBJS)/mmc_dev.o

$(OBJS)/mmc_func.o: mmc_func.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c mmc_func.c -o $(OBJS)/mmc_func.o
	
$(OBJS)/msg_sel.o: msg_sel.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c msg_sel.c -o $(OBJS)/msg_sel.o

$(OBJS)/sdrdesc.o: sdrdesc.c
	$(CC) $(CCFLAGS) $(INCLUDE) -c sdrdesc.c -o $(OBJS)/sdrdesc.o

clean:
	rm -f $(OBJS)/*
	rm -f seldev.o

directories:
	if [ ! -d $(OBJS)    ]; then mkdir $(OBJS)     ; fi

	
