blob: 0a05a244741eac516a004e8ea143b2f92cb9f20b [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 Shmidt8d520ff2011-05-09 14:06:53 -070028DRV_OBJS += src/utils/radiotap.c
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080029ifdef CONFIG_DRIVER_NL80211_QCA
30DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
31endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070032NEED_SME=y
33NEED_AP_MLME=y
34NEED_NETLINK=y
35NEED_LINUX_IOCTL=y
36NEED_RFKILL=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
54 DRV_LIBS += -lnl-genl
55 DRV_CFLAGS += -DCONFIG_LIBNL20
56 endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070057endif
58endif
59
60ifdef CONFIG_DRIVER_BSD
61ifndef CONFIG_L2_PACKET
62CONFIG_L2_PACKET=freebsd
63endif
64DRV_CFLAGS += -DCONFIG_DRIVER_BSD
65DRV_OBJS += src/drivers/driver_bsd.c
66CONFIG_L2_FREEBSD=y
67CONFIG_DNET_PCAP=y
68endif
69
Dmitry Shmidt4b9d52f2013-02-05 17:44:43 -080070ifdef CONFIG_DRIVER_OPENBSD
71ifndef CONFIG_L2_PACKET
72CONFIG_L2_PACKET=freebsd
73endif
74DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
75DRV_OBJS += src/drivers/driver_openbsd.c
76endif
77
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070078ifdef CONFIG_DRIVER_NONE
79DRV_CFLAGS += -DCONFIG_DRIVER_NONE
80DRV_OBJS += src/drivers/driver_none.c
81endif
82
83##### PURE AP DRIVERS
84
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080085ifdef CONFIG_DRIVER_HOSTAP
86DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
87DRV_AP_OBJS += src/drivers/driver_hostap.c
88CONFIG_WIRELESS_EXTENSION=y
89NEED_AP_MLME=y
90NEED_NETLINK=y
91NEED_LINUX_IOCTL=y
92endif
93
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070094ifdef CONFIG_DRIVER_ATHEROS
95DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
96DRV_AP_OBJS += src/drivers/driver_atheros.c
97CONFIG_L2_PACKET=linux
98NEED_NETLINK=y
99NEED_LINUX_IOCTL=y
100endif
101
102##### PURE CLIENT DRIVERS
103
104ifdef CONFIG_DRIVER_WEXT
105DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
106CONFIG_WIRELESS_EXTENSION=y
107NEED_NETLINK=y
108NEED_LINUX_IOCTL=y
109NEED_RFKILL=y
110endif
111
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700112ifdef CONFIG_DRIVER_NDIS
113DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
114DRV_WPA_OBJS += src/drivers/driver_ndis.c
115ifdef CONFIG_NDIS_EVENTS_INTEGRATED
116DRV_WPA_OBJS += src/drivers/driver_ndis_.c
117endif
118ifndef CONFIG_L2_PACKET
119CONFIG_L2_PACKET=pcap
120endif
121CONFIG_WINPCAP=y
122ifdef CONFIG_USE_NDISUIO
123DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
124endif
125endif
126
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700127ifdef CONFIG_DRIVER_ROBOSWITCH
128DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
129DRV_WPA_OBJS += src/drivers/driver_roboswitch.c
130endif
131
132ifdef CONFIG_WIRELESS_EXTENSION
133DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
134DRV_WPA_OBJS += src/drivers/driver_wext.c
135NEED_RFKILL=y
136endif
137
138ifdef NEED_NETLINK
139DRV_OBJS += src/drivers/netlink.c
140endif
141
142ifdef NEED_LINUX_IOCTL
143DRV_OBJS += src/drivers/linux_ioctl.c
144endif
145
146ifdef NEED_RFKILL
147DRV_OBJS += src/drivers/rfkill.c
148endif
149
150ifdef CONFIG_DRIVER_CUSTOM
151DRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
152endif
153
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700154ifdef CONFIG_VLAN_NETLINK
155ifdef CONFIG_FULL_DYNAMIC_VLAN
156ifdef CONFIG_LIBNL32
157 DRV_LIBS += -lnl-3
158 DRV_LIBS += -lnl-genl-3
159 DRV_LIBS += -lnl-route-3
160 DRV_CFLAGS += -DCONFIG_LIBNL20
161else
162 ifdef CONFIG_LIBNL_TINY
163 DRV_LIBS += -lnl-tiny
164 else
165 DRV_LIBS += -lnl
166 endif
167
168 ifdef CONFIG_LIBNL20
169 DRV_LIBS += -lnl-genl
170 DRV_LIBS += -lnl-route
171 DRV_CFLAGS += -DCONFIG_LIBNL20
172 endif
173endif
174endif
175endif
176
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700177##### COMMON VARS
178DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
179DRV_WPA_CFLAGS += $(DRV_CFLAGS)
180DRV_AP_CFLAGS += $(DRV_CFLAGS)
181
182DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
183DRV_WPA_LIBS += $(DRV_LIBS)
184DRV_AP_LIBS += $(DRV_LIBS)
185
186DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
187DRV_WPA_OBJS += $(DRV_OBJS)
188DRV_AP_OBJS += $(DRV_OBJS)
189
190DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
191DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
192DRV_AP_LDFLAGS += $(DRV_LDFLAGS)