blob: 5a32a24228ced98c114f161518ad0a0ec54411e1 [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
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.c
24NEED_DRV_WIRED_COMMON=1
25CONFIG_LIBNL3_ROUTE=y
Hai Shalom74f70d42019-02-11 14:42:39 -080026NEED_LIBNL=y
Dmitry Shmidtabb90a32016-12-05 15:34:39 -080027endif
28
29ifdef NEED_DRV_WIRED_COMMON
30DRV_OBJS += src/drivers/driver_wired_common.c
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070031endif
32
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070033ifdef CONFIG_DRIVER_NL80211
34DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
35DRV_OBJS += src/drivers/driver_nl80211.c
Dmitry Shmidtfb45fd52015-01-05 13:08:17 -080036DRV_OBJS += src/drivers/driver_nl80211_android.c
37DRV_OBJS += src/drivers/driver_nl80211_capa.c
38DRV_OBJS += src/drivers/driver_nl80211_event.c
39DRV_OBJS += src/drivers/driver_nl80211_monitor.c
40DRV_OBJS += src/drivers/driver_nl80211_scan.c
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080041ifdef CONFIG_DRIVER_NL80211_QCA
42DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
43endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070044NEED_SME=y
45NEED_AP_MLME=y
46NEED_NETLINK=y
47NEED_LINUX_IOCTL=y
48NEED_RFKILL=y
Dmitry Shmidt849734c2016-05-27 09:59:01 -070049NEED_RADIOTAP=y
Hai Shalom74f70d42019-02-11 14:42:39 -080050NEED_LIBNL=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070051endif
52
53ifdef CONFIG_DRIVER_BSD
54ifndef CONFIG_L2_PACKET
55CONFIG_L2_PACKET=freebsd
56endif
57DRV_CFLAGS += -DCONFIG_DRIVER_BSD
58DRV_OBJS += src/drivers/driver_bsd.c
59CONFIG_L2_FREEBSD=y
60CONFIG_DNET_PCAP=y
61endif
62
Dmitry Shmidt4b9d52f2013-02-05 17:44:43 -080063ifdef CONFIG_DRIVER_OPENBSD
64ifndef CONFIG_L2_PACKET
65CONFIG_L2_PACKET=freebsd
66endif
67DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
68DRV_OBJS += src/drivers/driver_openbsd.c
69endif
70
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070071ifdef CONFIG_DRIVER_NONE
72DRV_CFLAGS += -DCONFIG_DRIVER_NONE
73DRV_OBJS += src/drivers/driver_none.c
74endif
75
76##### PURE AP DRIVERS
77
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080078ifdef CONFIG_DRIVER_HOSTAP
79DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
80DRV_AP_OBJS += src/drivers/driver_hostap.c
81CONFIG_WIRELESS_EXTENSION=y
82NEED_AP_MLME=y
83NEED_NETLINK=y
84NEED_LINUX_IOCTL=y
85endif
86
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070087ifdef CONFIG_DRIVER_ATHEROS
88DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
89DRV_AP_OBJS += src/drivers/driver_atheros.c
90CONFIG_L2_PACKET=linux
91NEED_NETLINK=y
92NEED_LINUX_IOCTL=y
93endif
94
95##### PURE CLIENT DRIVERS
96
97ifdef CONFIG_DRIVER_WEXT
98DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
99CONFIG_WIRELESS_EXTENSION=y
100NEED_NETLINK=y
101NEED_LINUX_IOCTL=y
102NEED_RFKILL=y
103endif
104
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700105ifdef CONFIG_DRIVER_NDIS
106DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
107DRV_WPA_OBJS += src/drivers/driver_ndis.c
108ifdef CONFIG_NDIS_EVENTS_INTEGRATED
109DRV_WPA_OBJS += src/drivers/driver_ndis_.c
110endif
111ifndef CONFIG_L2_PACKET
112CONFIG_L2_PACKET=pcap
113endif
114CONFIG_WINPCAP=y
115ifdef CONFIG_USE_NDISUIO
116DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
117endif
118endif
119
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700120ifdef CONFIG_DRIVER_ROBOSWITCH
121DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
122DRV_WPA_OBJS += src/drivers/driver_roboswitch.c
123endif
124
125ifdef CONFIG_WIRELESS_EXTENSION
126DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
127DRV_WPA_OBJS += src/drivers/driver_wext.c
128NEED_RFKILL=y
129endif
130
131ifdef NEED_NETLINK
132DRV_OBJS += src/drivers/netlink.c
133endif
134
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700135ifdef NEED_RFKILL
136DRV_OBJS += src/drivers/rfkill.c
137endif
138
Dmitry Shmidt849734c2016-05-27 09:59:01 -0700139ifdef NEED_RADIOTAP
140DRV_OBJS += src/utils/radiotap.c
141endif
142
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700143ifdef CONFIG_DRIVER_CUSTOM
144DRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
145endif
146
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700147ifdef CONFIG_FULL_DYNAMIC_VLAN
Ahmed ElArabawy0ff61c52019-12-26 12:38:39 -0800148NEED_LINUX_IOCTL=y
149ifdef CONFIG_VLAN_NETLINK
Hai Shalom74f70d42019-02-11 14:42:39 -0800150NEED_LIBNL=y
151CONFIG_LIBNL3_ROUTE=y
152endif
153endif
154
Ahmed ElArabawy0ff61c52019-12-26 12:38:39 -0800155ifdef NEED_LINUX_IOCTL
156DRV_OBJS += src/drivers/linux_ioctl.c
157endif
158
Hai Shalom74f70d42019-02-11 14:42:39 -0800159ifdef NEED_LIBNL
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700160ifdef CONFIG_LIBNL32
161 DRV_LIBS += -lnl-3
162 DRV_LIBS += -lnl-genl-3
Hai Shalomfdcde762020-04-02 11:19:20 -0700163 DRV_CFLAGS += -I/usr/include/libnl3
Hai Shalom74f70d42019-02-11 14:42:39 -0800164ifdef CONFIG_LIBNL3_ROUTE
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700165 DRV_LIBS += -lnl-route-3
Hai Shalom74f70d42019-02-11 14:42:39 -0800166 DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
167endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700168else
169 ifdef CONFIG_LIBNL_TINY
170 DRV_LIBS += -lnl-tiny
171 else
172 DRV_LIBS += -lnl
Hai Shalomfdcde762020-04-02 11:19:20 -0700173 DRV_LIBS += -lnl-genl
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700174 endif
175endif
176endif
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700177
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700178##### COMMON VARS
179DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
180DRV_WPA_CFLAGS += $(DRV_CFLAGS)
181DRV_AP_CFLAGS += $(DRV_CFLAGS)
182
183DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
184DRV_WPA_LIBS += $(DRV_LIBS)
185DRV_AP_LIBS += $(DRV_LIBS)
186
187DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
188DRV_WPA_OBJS += $(DRV_OBJS)
189DRV_AP_OBJS += $(DRV_OBJS)
190
191DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
192DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
193DRV_AP_LDFLAGS += $(DRV_LDFLAGS)