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