• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1##### CLEAR VARS
2
3DRV_CFLAGS =
4DRV_WPA_CFLAGS =
5DRV_AP_CFLAGS =
6DRV_OBJS =
7DRV_WPA_OBJS =
8DRV_AP_OBJS =
9DRV_LIBS =
10DRV_WPA_LIBS =
11DRV_AP_LIBS =
12
13##### COMMON DRIVERS
14
15ifdef CONFIG_DRIVER_WIRED
16DRV_CFLAGS += -DCONFIG_DRIVER_WIRED
17DRV_OBJS += ../src/drivers/driver_wired.o
18NEED_DRV_WIRED_COMMON=1
19endif
20
21ifdef CONFIG_DRIVER_MACSEC_LINUX
22DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_LINUX
23DRV_OBJS += ../src/drivers/driver_macsec_linux.o
24NEED_DRV_WIRED_COMMON=1
25NEED_LIBNL=y
26CONFIG_LIBNL3_ROUTE=y
27endif
28
29ifdef CONFIG_DRIVER_MACSEC_QCA
30DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
31DRV_OBJS += ../src/drivers/driver_macsec_qca.o
32NEED_DRV_WIRED_COMMON=1
33endif
34
35ifdef NEED_DRV_WIRED_COMMON
36DRV_OBJS += ../src/drivers/driver_wired_common.o
37endif
38
39ifdef CONFIG_DRIVER_NL80211
40DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
41DRV_OBJS += ../src/drivers/driver_nl80211.o
42DRV_OBJS += ../src/drivers/driver_nl80211_capa.o
43DRV_OBJS += ../src/drivers/driver_nl80211_event.o
44DRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
45DRV_OBJS += ../src/drivers/driver_nl80211_scan.o
46ifdef CONFIG_DRIVER_NL80211_QCA
47DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
48endif
49NEED_SME=y
50NEED_AP_MLME=y
51NEED_NETLINK=y
52NEED_LINUX_IOCTL=y
53NEED_RFKILL=y
54NEED_RADIOTAP=y
55NEED_LIBNL=y
56endif
57
58ifdef CONFIG_DRIVER_BSD
59ifndef CONFIG_L2_PACKET
60CONFIG_L2_PACKET=freebsd
61endif
62DRV_CFLAGS += -DCONFIG_DRIVER_BSD
63DRV_OBJS += ../src/drivers/driver_bsd.o
64CONFIG_L2_FREEBSD=y
65CONFIG_DNET_PCAP=y
66endif
67
68ifdef CONFIG_DRIVER_OPENBSD
69ifndef CONFIG_L2_PACKET
70CONFIG_L2_PACKET=freebsd
71endif
72DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
73DRV_OBJS += ../src/drivers/driver_openbsd.o
74endif
75
76ifdef CONFIG_DRIVER_NONE
77DRV_CFLAGS += -DCONFIG_DRIVER_NONE
78DRV_OBJS += ../src/drivers/driver_none.o
79endif
80ifdef CONFIG_DRIVER_HDF
81DRV_CFLAGS += -DCONFIG_DRIVER_HDF
82DRV_OBJS += ../src/drivers/wpa_hal_event.o
83DRV_OBJS += ../src/drivers/wpa_hal.o
84endif
85
86
87##### PURE AP DRIVERS
88
89ifdef CONFIG_DRIVER_HOSTAP
90DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
91DRV_AP_OBJS += ../src/drivers/driver_hostap.o
92CONFIG_WIRELESS_EXTENSION=y
93NEED_AP_MLME=y
94NEED_NETLINK=y
95NEED_LINUX_IOCTL=y
96endif
97
98ifdef CONFIG_DRIVER_ATHEROS
99DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
100DRV_AP_OBJS += ../src/drivers/driver_atheros.o
101CONFIG_L2_PACKET=linux
102NEED_NETLINK=y
103NEED_LINUX_IOCTL=y
104ifdef ATH_GCM_SUPPORT
105CFLAGS += -DATH_GCM_SUPPORT
106endif
107endif
108
109##### PURE CLIENT DRIVERS
110
111ifdef CONFIG_DRIVER_WEXT
112DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
113CONFIG_WIRELESS_EXTENSION=y
114NEED_NETLINK=y
115NEED_LINUX_IOCTL=y
116NEED_RFKILL=y
117endif
118
119ifdef CONFIG_DRIVER_NDIS
120DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
121DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
122ifdef CONFIG_NDIS_EVENTS_INTEGRATED
123DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
124endif
125ifndef CONFIG_L2_PACKET
126CONFIG_L2_PACKET=pcap
127endif
128CONFIG_WINPCAP=y
129ifdef CONFIG_USE_NDISUIO
130DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
131endif
132endif
133
134ifdef CONFIG_DRIVER_ROBOSWITCH
135DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
136DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
137endif
138
139ifdef CONFIG_WIRELESS_EXTENSION
140DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
141DRV_WPA_OBJS += ../src/drivers/driver_wext.o
142NEED_RFKILL=y
143endif
144
145ifdef NEED_NETLINK
146DRV_OBJS += ../src/drivers/netlink.o
147endif
148
149ifdef NEED_LINUX_IOCTL
150DRV_OBJS += ../src/drivers/linux_ioctl.o
151endif
152
153ifdef NEED_RFKILL
154DRV_OBJS += ../src/drivers/rfkill.o
155endif
156
157ifdef NEED_RADIOTAP
158DRV_OBJS += ../src/utils/radiotap.o
159endif
160
161ifdef CONFIG_VLAN_NETLINK
162ifdef CONFIG_FULL_DYNAMIC_VLAN
163NEED_LIBNL=y
164CONFIG_LIBNL3_ROUTE=y
165endif
166endif
167
168ifdef NEED_LIBNL
169ifndef CONFIG_LIBNL32
170ifndef CONFIG_LIBNL20
171ifndef CONFIG_LIBNL_TINY
172PKG_CONFIG ?= pkg-config
173HAVE_LIBNL3 := $(shell $(PKG_CONFIG) --exists libnl-3.0; echo $$?)
174ifeq ($(HAVE_LIBNL3),0)
175CONFIG_LIBNL32=y
176endif
177endif
178endif
179endif
180
181ifdef CONFIG_LIBNL32
182  DRV_LIBS += -lnl-3
183  DRV_LIBS += -lnl-genl-3
184  DRV_CFLAGS += -DCONFIG_LIBNL20
185  ifdef LIBNL_INC
186    DRV_CFLAGS += -I$(LIBNL_INC)
187  else
188    PKG_CONFIG ?= pkg-config
189    DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
190  endif
191  ifdef CONFIG_LIBNL3_ROUTE
192    DRV_LIBS += -lnl-route-3
193    DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
194  endif
195else
196  ifdef CONFIG_LIBNL_TINY
197    DRV_LIBS += -lnl-tiny
198  else
199    ifndef CONFIG_OSX
200      DRV_LIBS += -lnl
201    endif
202  endif
203
204  ifdef CONFIG_LIBNL20
205    ifndef CONFIG_LIBNL_TINY
206      DRV_LIBS += -lnl-genl
207    endif
208    DRV_CFLAGS += -DCONFIG_LIBNL20
209  endif
210endif
211endif
212
213##### COMMON VARS
214DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
215DRV_WPA_CFLAGS += $(DRV_CFLAGS)
216DRV_AP_CFLAGS += $(DRV_CFLAGS)
217
218DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
219DRV_WPA_LIBS += $(DRV_LIBS)
220DRV_AP_LIBS += $(DRV_LIBS)
221
222DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
223DRV_WPA_OBJS += $(DRV_OBJS)
224DRV_AP_OBJS += $(DRV_OBJS)
225
226DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
227DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
228DRV_AP_LDFLAGS += $(DRV_LDFLAGS)
229