blob: 0186099679d1bc1afd6c85fcfcf6c38a85785e15 [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.o
Dmitry Shmidtabb90a32016-12-05 15:34:39 -080018NEED_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
Hai Shalom74f70d42019-02-11 14:42:39 -080025NEED_LIBNL=y
Dmitry Shmidtabb90a32016-12-05 15:34:39 -080026CONFIG_LIBNL3_ROUTE=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070027endif
28
Ajay Davanagerib921bb82020-09-16 12:49:08 +053029ifdef CONFIG_DRIVER_NL80211_BRCM
30DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_BRCM
31endif
32
Andy Kuoaba17c12022-04-14 16:05:31 +080033ifdef CONFIG_DRIVER_NL80211_SYNA
34DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_SYNA
35endif
36
Dmitry Shmidt5a1480c2014-05-12 09:46:02 -070037ifdef CONFIG_DRIVER_MACSEC_QCA
38DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
39DRV_OBJS += ../src/drivers/driver_macsec_qca.o
Dmitry Shmidtabb90a32016-12-05 15:34:39 -080040NEED_DRV_WIRED_COMMON=1
41endif
42
43ifdef NEED_DRV_WIRED_COMMON
44DRV_OBJS += ../src/drivers/driver_wired_common.o
Dmitry Shmidt5a1480c2014-05-12 09:46:02 -070045endif
46
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070047ifdef CONFIG_DRIVER_NL80211
48DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
49DRV_OBJS += ../src/drivers/driver_nl80211.o
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -080050DRV_OBJS += ../src/drivers/driver_nl80211_capa.o
51DRV_OBJS += ../src/drivers/driver_nl80211_event.o
52DRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
53DRV_OBJS += ../src/drivers/driver_nl80211_scan.o
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080054ifdef CONFIG_DRIVER_NL80211_QCA
55DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
56endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070057NEED_SME=y
58NEED_AP_MLME=y
59NEED_NETLINK=y
60NEED_LINUX_IOCTL=y
61NEED_RFKILL=y
Dmitry Shmidt849734c2016-05-27 09:59:01 -070062NEED_RADIOTAP=y
Hai Shalom74f70d42019-02-11 14:42:39 -080063NEED_LIBNL=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070064endif
65
66ifdef CONFIG_DRIVER_BSD
67ifndef CONFIG_L2_PACKET
68CONFIG_L2_PACKET=freebsd
69endif
70DRV_CFLAGS += -DCONFIG_DRIVER_BSD
71DRV_OBJS += ../src/drivers/driver_bsd.o
72CONFIG_L2_FREEBSD=y
73CONFIG_DNET_PCAP=y
74endif
75
Dmitry Shmidt4b9d52f2013-02-05 17:44:43 -080076ifdef CONFIG_DRIVER_OPENBSD
77ifndef CONFIG_L2_PACKET
78CONFIG_L2_PACKET=freebsd
79endif
80DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
81DRV_OBJS += ../src/drivers/driver_openbsd.o
82endif
83
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070084ifdef CONFIG_DRIVER_NONE
85DRV_CFLAGS += -DCONFIG_DRIVER_NONE
86DRV_OBJS += ../src/drivers/driver_none.o
87endif
88
89##### PURE AP DRIVERS
90
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080091ifdef CONFIG_DRIVER_HOSTAP
92DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
93DRV_AP_OBJS += ../src/drivers/driver_hostap.o
94CONFIG_WIRELESS_EXTENSION=y
95NEED_AP_MLME=y
96NEED_NETLINK=y
97NEED_LINUX_IOCTL=y
98endif
99
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700100ifdef CONFIG_DRIVER_ATHEROS
101DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
102DRV_AP_OBJS += ../src/drivers/driver_atheros.o
103CONFIG_L2_PACKET=linux
104NEED_NETLINK=y
105NEED_LINUX_IOCTL=y
Dmitry Shmidt09f57ba2014-06-10 16:07:13 -0700106ifdef ATH_GCM_SUPPORT
107CFLAGS += -DATH_GCM_SUPPORT
108endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700109endif
110
111##### PURE CLIENT DRIVERS
112
113ifdef CONFIG_DRIVER_WEXT
114DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
115CONFIG_WIRELESS_EXTENSION=y
116NEED_NETLINK=y
117NEED_LINUX_IOCTL=y
118NEED_RFKILL=y
119endif
120
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700121ifdef CONFIG_DRIVER_NDIS
122DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
123DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
124ifdef CONFIG_NDIS_EVENTS_INTEGRATED
125DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
126endif
127ifndef CONFIG_L2_PACKET
128CONFIG_L2_PACKET=pcap
129endif
130CONFIG_WINPCAP=y
131ifdef CONFIG_USE_NDISUIO
132DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
133endif
134endif
135
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700136ifdef CONFIG_DRIVER_ROBOSWITCH
137DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
138DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
139endif
140
141ifdef CONFIG_WIRELESS_EXTENSION
142DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
143DRV_WPA_OBJS += ../src/drivers/driver_wext.o
144NEED_RFKILL=y
145endif
146
147ifdef NEED_NETLINK
148DRV_OBJS += ../src/drivers/netlink.o
149endif
150
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700151ifdef NEED_RFKILL
152DRV_OBJS += ../src/drivers/rfkill.o
153endif
154
Dmitry Shmidt849734c2016-05-27 09:59:01 -0700155ifdef NEED_RADIOTAP
156DRV_OBJS += ../src/utils/radiotap.o
157endif
158
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700159ifdef CONFIG_FULL_DYNAMIC_VLAN
Ahmed ElArabawy0ff61c52019-12-26 12:38:39 -0800160NEED_LINUX_IOCTL=y
161ifdef CONFIG_VLAN_NETLINK
Hai Shalom74f70d42019-02-11 14:42:39 -0800162NEED_LIBNL=y
163CONFIG_LIBNL3_ROUTE=y
164endif
165endif
166
Ahmed ElArabawy0ff61c52019-12-26 12:38:39 -0800167ifdef NEED_LINUX_IOCTL
168DRV_OBJS += ../src/drivers/linux_ioctl.o
169endif
170
Hai Shalom74f70d42019-02-11 14:42:39 -0800171ifdef NEED_LIBNL
172ifndef CONFIG_LIBNL32
173ifndef CONFIG_LIBNL20
174ifndef CONFIG_LIBNL_TINY
175PKG_CONFIG ?= pkg-config
176HAVE_LIBNL3 := $(shell $(PKG_CONFIG) --exists libnl-3.0; echo $$?)
177ifeq ($(HAVE_LIBNL3),0)
178CONFIG_LIBNL32=y
179endif
180endif
181endif
182endif
183
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700184ifdef CONFIG_LIBNL32
185 DRV_LIBS += -lnl-3
186 DRV_LIBS += -lnl-genl-3
Hai Shalom74f70d42019-02-11 14:42:39 -0800187 ifdef LIBNL_INC
188 DRV_CFLAGS += -I$(LIBNL_INC)
189 else
190 PKG_CONFIG ?= pkg-config
191 DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
192 endif
193 ifdef CONFIG_LIBNL3_ROUTE
194 DRV_LIBS += -lnl-route-3
195 DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
196 endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700197else
198 ifdef CONFIG_LIBNL_TINY
199 DRV_LIBS += -lnl-tiny
200 else
Hai Shalom74f70d42019-02-11 14:42:39 -0800201 ifndef CONFIG_OSX
202 DRV_LIBS += -lnl
Hai Shalom74f70d42019-02-11 14:42:39 -0800203 DRV_LIBS += -lnl-genl
204 endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700205 endif
206endif
207endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700208
209##### COMMON VARS
210DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
211DRV_WPA_CFLAGS += $(DRV_CFLAGS)
212DRV_AP_CFLAGS += $(DRV_CFLAGS)
213
214DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
215DRV_WPA_LIBS += $(DRV_LIBS)
216DRV_AP_LIBS += $(DRV_LIBS)
217
218DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
219DRV_WPA_OBJS += $(DRV_OBJS)
220DRV_AP_OBJS += $(DRV_OBJS)
221
222DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
223DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
224DRV_AP_LDFLAGS += $(DRV_LDFLAGS)