Staging: Add pristine upstream vt6655 driver sources
[safe/jmp/linux-2.6] / drivers / staging / vt6655 / Makefile
1 #
2 # Build options:
3 #   PRIV_OBJ := 1 for object version
4 #
5
6 IO_MAP := 0
7 HOSTAP := 1
8 PRIV_OBJ := 0
9
10
11
12 #KSP : = 0
13 KSP :=  /lib/modules/$(shell uname -r)/build \
14 #       /usr/src/linux-$(shell uname -r) \
15 #       /usr/src/linux-$(shell uname -r | sed 's/-.*//') \
16 #       /usr/src/kernel-headers-$(shell uname -r) \
17 #       /usr/src/kernel-source-$(shell uname -r) \
18 #       /usr/src/linux-$(shell uname -r | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') \
19 #       /usr/src/linux   /home/plice
20
21 #test_dir = $(shell [ -e $(dir)/include/linux ] && echo $(dir))
22
23 #KSP := $(foreach dir, $(KSP), $(test_dir))
24
25
26 KSRC := $(firstword $(KSP))
27
28 #ifeq (,$(KSRC))
29 #       $(    error Linux kernel source not found)
30 #endif
31
32 # check kernel version
33 KVER := $(shell uname -r | cut -c1-3 | sed 's/2\.[56]/2\.6/')
34 KERVER2=$(shell uname -r | cut -d. -f2)
35
36 ifeq ($(KVER), 2.6)
37 # 2.6 kernel
38 TARGET = viawget.ko
39
40 else
41 TARGET = viawget.o
42
43 endif
44
45 INSTDIR := $(shell find /lib/modules/$(shell uname -r) -name $(TARGET) -printf "%h\n" | sort | head -1)
46 ifeq (,$(INSTDIR))
47         ifeq (,$(KERVER2))
48                 ifneq (,$(wildcard /lib/modules/$(shell uname -r)/kernel))
49                         INSTDIR := /lib/modules/$(shell uname -r)/kernel/drivers/net
50                 else
51                         INSTDIR := /lib/modules/$(shell uname -r)/net
52                 endif
53         else
54                 ifneq ($(KERVER2),2)
55                         INSTDIR := /lib/modules/$(shell uname -r)/kernel/drivers/net
56                 else
57                         INSTDIR := /lib/modules/$(shell uname -r)/net
58                 endif
59         endif
60 endif
61
62
63 SRC = device_main.c card.c mac.c baseband.c wctl.c 80211mgr.c \
64       wcmd.c wmgr.c bssdb.c  wpa2.c rxtx.c dpc.c power.c datarate.c \
65       srom.c mib.c rc4.c tether.c tcrc.c ioctl.c hostap.c wpa.c key.c \
66       tkip.c michael.c wroute.c rf.c iwctl.c wpactl.c aes_ccmp.c \
67       vntwifi.c IEEE11h.c
68
69 ifeq ($(IO_MAP), 1)
70   EXTRA_CFLAGS += -DIO_MAP
71 endif
72
73 ifeq ($(HOSTAP), 1)
74   EXTRA_CFLAGS += -DHOSTAP
75 endif
76
77 ifeq ($(PRIV_OBJ), 1)
78   EXTRA_CFLAGS += -DPRIVATE_OBJ
79 endif
80
81 EXTRA_CFLAGS += -I$(PWD) -I$(PWD)/../include -I$(PWD)/../solomon
82
83 EXTRA_CFLAGS +=  -I$(PWD)/include -I$(PWD)/solomon
84
85 # build rule
86 ifeq ($(KVER), 2.6)
87 # 2.6 kernel
88
89 ifndef KERNEL_CONF
90 KERNEL_CONF=    $(KSRC)/.config
91 endif
92
93 include ${KERNEL_CONF}
94
95 obj-m += viawget.o
96
97 viawget-objs := device_main.o card.o mac.o baseband.o wctl.o 80211mgr.o \
98         wcmd.o wmgr.o bssdb.o rxtx.o dpc.o power.o datarate.o srom.o \
99         mib.o rc4.o tether.o tcrc.o ioctl.o hostap.o wpa.o key.o tkip.o \
100         michael.o wroute.o rf.o iwctl.o wpactl.o wpa2.o aes_ccmp.o \
101         vntwifi.o IEEE11h.o
102
103 .c.o:
104         $(CC) $(CFLAGS) -o $@ $<
105
106 default:
107         make -C $(KSRC) SUBDIRS=$(shell pwd) modules
108
109 else
110
111 # 2.2/2.4 kernel
112 OBJS := device_main.o card.o mac.o baseband.o wctl.o 80211mgr.o \
113         wcmd.o wmgr.o bssdb.o rxtx.o dpc.o power.o datarate.o srom.o \
114         mib.o rc4.o tether.o tcrc.o ioctl.o hostap.o wpa.o key.o tkip.o \
115         michael.o wroute.o rf.o iwctl.o wpactl.o wpa2.o aes_ccmp.o \
116         vntwifi.o IEEE11h.o
117
118 VERSION_FILE := $(KSRC)/include/linux/version.h
119 CONFIG_FILE  := $(KSRC)/include/linux/config.h
120
121
122 ifeq (,$(wildcard $(VERSION_FILE)))
123   $(error Linux kernel source not configured - missing version.h)
124 endif
125
126 ifeq (,$(wildcard $(CONFIG_FILE)))
127   $(error Linux kernel source not configured - missing config.h)
128 endif
129
130 ifneq (,$(findstring egcs-2.91.66, $(shell cat /proc/version)))
131   CC := kgcc gcc cc
132 else
133   CC := gcc cc
134 endif
135
136 test_cc = $(shell which $(cc) > /dev/null 2>&1 && echo $(cc))
137 CC := $(foreach cc, $(CC), $(test_cc))
138 CC := $(firstword $(CC))
139
140 EXTRA_CFLAGS += -Wall -DLINUX -D__KERNEL__ -DMODULE  -DEXPORT_SYMTAB -D__NO_VERSION__ -O2 -pipe
141 EXTRA_CFLAGS += -I$(KSRC)/include -Wstrict-prototypes -fomit-frame-pointer -fno-strict-aliasing
142 EXTRA_CFLAGS += $(shell [ -f $(KSRC)/include/linux/modversions.h ] && \
143             echo "-DMODVERSIONS -include $(KSRC)/include/linux/modversions.h")
144
145 .SILENT: $(TARGET) clean
146
147
148 # look for SMP in config.h
149 SMP := $(shell $(CC) $(CFLAGS) -E -dM $(CONFIG_FILE) | \
150          grep CONFIG_SMP | awk '{ print $$3 }')
151
152 ifneq ($(SMP),1)
153   SMP := 0
154 endif
155
156
157 ifeq ($(SMP), 1)
158   EXTRA_CFLAGS += -D__SMP__
159 endif
160
161
162 ifeq ($(PRIV_OBJ), 1)
163   EXTRA_CFLAGS += -DPRIVATE_OBJ
164   TARGET = x86g_up.o
165
166 ifeq ($(SMP), 1)
167   TARGET = x86g_smp.o
168 endif
169
170 endif
171
172
173 # check x86_64
174 SUBARCH := $(shell uname -m)
175 ifeq ($(SUBARCH),x86_64)
176     EXTRA_CFLAGS += -mcmodel=kernel -mno-red-zone
177 endif
178
179
180 $(TARGET): $(filter-out $(TARGET), $(SRC:.c=.o))
181         $(LD) -r $^ -o $@
182         echo; echo
183         echo "**************************************************"
184         echo "Build options:"
185         echo "   VERSION    $(KVER)"
186         echo -n "   SMP             "
187         if [ "$(SMP)" = "1" ]; \
188                 then echo "Enabled"; else echo "Disabled"; fi
189
190
191
192 endif # ifeq ($(KVER),2.6)
193
194
195 ifeq ($(KVER), 2.6)
196 install: default
197 else
198 install: clean $(TARGET)
199 endif
200         mkdir -p $(MOD_ROOT)$(INSTDIR)
201         install -m 644 -o root $(TARGET) $(MOD_ROOT)$(INSTDIR)
202
203 ifeq (,$(MOD_ROOT))
204         /sbin/depmod -a || true
205 else
206         /sbin/depmod -b $(MOD_ROOT) -a || true
207 endif
208
209
210 uninstall:
211         rm -f $(INSTDIR)/$(TARGET)
212         /sbin/depmod -a
213
214 clean:
215         rm -f $(TARGET) $(SRC:.c=.o) *.o *~
216         rm -f .*.o.d .*.o.cmd .*.ko.cmd *.mod.c *.mod.o
217
218 -include .depend.mak