
#-----------------------------------------------
#Specify kernel version and include path
#-----------------------------------------------
KERNELRELEASE=2.4.20
INCLUDEPATH=-I /usr/src/kernel-source-2.4.20/include/
INSTALLPATH=/lib/modules/2.4.20/kernel/drivers/net/wireless


#-----------------------------------------------
#Specify compiler and compile flags.
#-----------------------------------------------
XCC = gcc
LD = ld
MODCFLAGS := -O6 -Wall -DMODULE -D__KERNEL__ -DLINUX


#-----------------------------------------------
#IO_FLAGS
#Specify pci I/O space mapping
#if High memory configuration has been turned on,
#RTL_IO_MAP is the suggestion since ioremap 
#would fail. 
#-----------------------------------------------
#IO_FLAGS = RTL_MEM_MAP
IO_FLAGS = RTL_IO_MAP

#-----------------------------------------------
#ENDIAN_FLAGS
#Specify memory access mothed. 
#RTL_LITTLE_ENDIAN is the suggestion on i386.
#-----------------------------------------------
#ENDIAN_FLAGS = RTL_BIG_ENDIAN
ENDIAN_FLAGS = RTL_LITTLE_ENDIAN


#-----------------------------------------------
#This is the driver act as wlan client. 
#-----------------------------------------------
DRV_FLAGS = RTL_ACT_AS_STA


#-----------------------------------------------
#Specify rtl8180 driver name 
#-----------------------------------------------
RTL8180_TARGET = rtl8180_24x.o


#-----------------------------------------------
#module initialization and interface.
#-----------------------------------------------
OPEN_SRCS = r8180_pci_init.c r8180_if.c

OPEN_OBJS = ${OPEN_SRCS:.c=.o}



# SUFFIXES fules
.SUFFIXES: .c .o
.c.o:
	$(XCC) $(MODCFLAGS) $(INCLUDEPATH) -D$(IO_FLAGS) -D$(ENDIAN_FLAGS) -D${DRV_FLAGS} -c -o $*.o $<


#.PHONY: all clean

all: $(RTL8180_TARGET)


$(RTL8180_TARGET): open_part
	@echo ""
	@echo "--- Generate rtl8180 linux driver  $(RTL8180_TARGET) on $(KERNELRELEASE) ---"
	$(LD) -r -o $@ ${^:=.o} priv_part.o
	rm -f ${^:=.o};\
	zip ${RTL8180_TARGET:.o=.zip} *
	@echo ""

open_part: ${OPEN_OBJS}
	@echo ""
	@echo "--- generate open part ---"
	$(LD) -r -o $@.o ${OPEN_OBJS}
	rm -f ${OPEN_OBJS}
	@echo ""


${OPEN_OBJS}: %.o: %.h r8180_type.h r8180_export.h

clean:
	mv priv_part.o priv_part
	rm -f *.o
	mv priv_part priv_part.o

