blob: c6fe4c20c561b929df08aaaaad271730c588a2b4 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001##### 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
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070015ifdef CONFIG_DRIVER_WIRED
16DRV_CFLAGS += -DCONFIG_DRIVER_WIRED
17DRV_OBJS += src/drivers/driver_wired.c
18endif
19
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070020ifdef CONFIG_DRIVER_NL80211
21DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
22DRV_OBJS += src/drivers/driver_nl80211.c
Dmitry Shmidtfb45fd52015-01-05 13:08:17 -080023DRV_OBJS += src/drivers/driver_nl80211_android.c
24DRV_OBJS += src/drivers/driver_nl80211_capa.c
25DRV_OBJS += src/drivers/driver_nl80211_event.c
26DRV_OBJS += src/drivers/driver_nl80211_monitor.c
27DRV_OBJS += src/drivers/driver_nl80211_scan.c
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080028ifdef CONFIG_DRIVER_NL80211_QCA
29DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
30endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070031NEED_SME=y
32NEED_AP_MLME=y
33NEED_NETLINK=y
34NEED_LINUX_IOCTL=y
35NEED_RFKILL=y
Dmitry Shmidt849734c2016-05-27 09:59:01 -070036NEED_RADIOTAP=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070037
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080038ifdef CONFIG_LIBNL32
39 DRV_LIBS += -lnl-3
40 DRV_LIBS += -lnl-genl-3
Dmitry Shmidt61d9df32012-08-29 16:22:06 -070041 DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
Dmitry Shmidt661b4f72014-09-29 14:58:27 -070042ifdef CONFIG_LIBNL3_ROUTE
43 DRV_LIBS += -lnl-route-3
44 DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
45endif
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080046else
47 ifdef CONFIG_LIBNL_TINY
48 DRV_LIBS += -lnl-tiny
49 else
50 DRV_LIBS += -lnl
51 endif
52
53 ifdef CONFIG_LIBNL20
Dmitry Shmidte4663042016-04-04 10:07:49 -070054 ifndef CONFIG_LIBNL_TINY
55 DRV_LIBS += -lnl-genl
56 endif
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080057 DRV_CFLAGS += -DCONFIG_LIBNL20
58 endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070059endif
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.c
68CONFIG_L2_FREEBSD=y
69CONFIG_DNET_PCAP=y
70endif
71
Dmitry Shmidt4b9d52f2013-02-05 17:44:43 -080072ifdef CONFIG_DRIVER_OPENBSD
73ifndef CONFIG_L2_PACKET
74CONFIG_L2_PACKET=freebsd
75endif
76DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
77DRV_OBJS += src/drivers/driver_openbsd.c
78endif
79
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070080ifdef CONFIG_DRIVER_NONE
81DRV_CFLAGS += -DCONFIG_DRIVER_NONE
82DRV_OBJS += src/drivers/driver_none.c
83endif
84
85##### PURE AP DRIVERS
86
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080087ifdef CONFIG_DRIVER_HOSTAP
88DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
89DRV_AP_OBJS += src/drivers/driver_hostap.c
90CONFIG_WIRELESS_EXTENSION=y
91NEED_AP_MLME=y
92NEED_NETLINK=y
93NEED_LINUX_IOCTL=y
94endif
95
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070096ifdef CONFIG_DRIVER_ATHEROS
97DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
98DRV_AP_OBJS += src/drivers/driver_atheros.c
99CONFIG_L2_PACKET=linux
100NEED_NETLINK=y
101NEED_LINUX_IOCTL=y
102endif
103
104##### PURE CLIENT DRIVERS
105
106ifdef CONFIG_DRIVER_WEXT
107DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
108CONFIG_WIRELESS_EXTENSION=y
109NEED_NETLINK=y
110NEED_LINUX_IOCTL=y
111NEED_RFKILL=y
112endif
113
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700114ifdef CONFIG_DRIVER_NDIS
115DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
116DRV_WPA_OBJS += src/drivers/driver_ndis.c
117ifdef CONFIG_NDIS_EVENTS_INTEGRATED
118DRV_WPA_OBJS += src/drivers/driver_ndis_.c
119endif
120ifndef CONFIG_L2_PACKET
121CONFIG_L2_PACKET=pcap
122endif
123CONFIG_WINPCAP=y
124ifdef CONFIG_USE_NDISUIO
125DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
126endif
127endif
128
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700129ifdef CONFIG_DRIVER_ROBOSWITCH
130DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
131DRV_WPA_OBJS += src/drivers/driver_roboswitch.c
132endif
133
134ifdef CONFIG_WIRELESS_EXTENSION
135DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
136DRV_WPA_OBJS += src/drivers/driver_wext.c
137NEED_RFKILL=y
138endif
139
140ifdef NEED_NETLINK
141DRV_OBJS += src/drivers/netlink.c
142endif
143
144ifdef NEED_LINUX_IOCTL
145DRV_OBJS += src/drivers/linux_ioctl.c
146endif
147
148ifdef NEED_RFKILL
149DRV_OBJS += src/drivers/rfkill.c
150endif
151
Dmitry Shmidt849734c2016-05-27 09:59:01 -0700152ifdef NEED_RADIOTAP
153DRV_OBJS += src/utils/radiotap.c
154endif
155
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700156ifdef CONFIG_DRIVER_CUSTOM
157DRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
158endif
159
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700160ifdef CONFIG_VLAN_NETLINK
161ifdef CONFIG_FULL_DYNAMIC_VLAN
162ifdef CONFIG_LIBNL32
163 DRV_LIBS += -lnl-3
164 DRV_LIBS += -lnl-genl-3
165 DRV_LIBS += -lnl-route-3
166 DRV_CFLAGS += -DCONFIG_LIBNL20
167else
168 ifdef CONFIG_LIBNL_TINY
169 DRV_LIBS += -lnl-tiny
170 else
171 DRV_LIBS += -lnl
172 endif
173
174 ifdef CONFIG_LIBNL20
175 DRV_LIBS += -lnl-genl
176 DRV_LIBS += -lnl-route
177 DRV_CFLAGS += -DCONFIG_LIBNL20
178 endif
179endif
180endif
181endif
182
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700183##### COMMON VARS
184DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
185DRV_WPA_CFLAGS += $(DRV_CFLAGS)
186DRV_AP_CFLAGS += $(DRV_CFLAGS)
187
188DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
189DRV_WPA_LIBS += $(DRV_LIBS)
190DRV_AP_LIBS += $(DRV_LIBS)
191
192DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
193DRV_WPA_OBJS += $(DRV_OBJS)
194DRV_AP_OBJS += $(DRV_OBJS)
195
196DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
197DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
198DRV_AP_LDFLAGS += $(DRV_LDFLAGS)