NIC_SELECT = RTL8185

CC = gcc
KVER  := $(shell uname -r)
KSRC  := /lib/modules/$(KVER)/build
PWD = $(shell pwd)
INSTALL_PREFIX :=
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/$(NIC_SELECT)


ifneq ($(shell uname -r|cut -d. -f1,2), 2.4)

#EXTRA_CFLAGS += -DCONFIG_IEEE80211_NOWEP=y
#EXTRA_CFLAGS += -DCONFIG_RTL8180_IOMAP
EXTRA_CFLAGS += -I$(TOPDIR)/drivers/net/wireless
EXTRA_CFLAGS += -std=gnu89
EXTRA_CFLAGS += -O2
#EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y
EXTRA_CFLAGS += -DCONFIG_RTL8180_PM

r8180-objs := \
    r8180_core.o \
    r8180_sa2400.o \
    r8180_93cx6.o \
    r8180_wx.o \
    r8180_max2820.o \
    r8180_gct.o \
    r8180_rtl8225.o \
    r8180_rtl8225z2.o \
    r8180_rtl8255.o \
    r8180_pm.o

obj-m += r8180.o

MODULES_LST := r8180.ko 


all: modules

modules:
	$(MAKE) -C $(KSRC) M=$(PWD) CC=$(CC) modules

install: modules
	install -p -m 644 r8180.ko $(MODDESTDIR)
	depmod -a

uninstall:
	$(shell [ -d $(MODDESTDIR) ] && rm -fr $(MODDESTDIR))
	depmod -a
clean:
	rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
	rm -fr .tmp_versions
	rm -fr *~
	rm -fr Module.symvers
	rm -fr modules.order
	rm -fr Module.markers
	rm -rf tags

else #2.4 kernel

LD := ld
KSRC := /lib/modules/$(KVER)/build
CONFIG_FILE := $(KSRC)/include/linux/autoconf.h
CFLAGS += -DLINUX -D__KERNEL__ -DMODULE -O2 -pipe -Wall
CFLAGS += -I$(KSRC)/include -I.
CFLAGS += -DMODVERSIONS -DEXPORT_SYMTAB -include $(KSRC)/include/linux/modversions.h

SMP := $(shell $(CC) $(CFLAGS) -E -dM $(CONFIG_FILE) | \
   grep CONFIG_SMP | awk '{print $$3}')
ifneq ($(SMP),1)
   SMP := 0
endif
ifeq ($(SMP),1)
   CFLAGS    += -D__SMP__
endif
BJS := ${patsubst %.c, %.o, ${wildcard *.c}}

all:r8180.o
r8180.o: \
	r8180_core.o \
	r8180_sa2400.o \
	r8180_93cx6.o \
	r8180_wx.o \
	r8180_max2820.o \
	r8180_gct.o \
	r8180_rtl8225.o \
	r8180_rtl8225z2.o \
	r8180_rtl8255.o \
	r8180_pm.o 
	$(LD) -r $^ -o $@
install:r8180.o
	install -p -m 644 r8180.o  $(MODDESTDIR)
	@depmod -a

uninstall:
	$(shell [ -d $(MODDESTDIR) ] && rm -fr $(MODDESTDIR))
	@depmod -a

clean:
	rm -f *.mod.c *.mod *.o .*.cmd *.ko *~
	rm -rf $(PWD)/tmp
	rm -rf *~
	rm -fr Module.symvers
	rm -fr modules.order
	rm -fr Module.markers
	rm -rf tags
endif
