blob: c4f5f974400a1152c558d25dca9391f06920174a [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
18endif
19
Dmitry Shmidt5a1480c2014-05-12 09:46:02 -070020ifdef CONFIG_DRIVER_MACSEC_QCA
21DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
22DRV_OBJS += ../src/drivers/driver_macsec_qca.o
23endif
24
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070025ifdef CONFIG_DRIVER_NL80211
26DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
27DRV_OBJS += ../src/drivers/driver_nl80211.o
Dmitry Shmidt6c0da2b2015-01-05 13:08:17 -080028DRV_OBJS += ../src/drivers/driver_nl80211_capa.o
29DRV_OBJS += ../src/drivers/driver_nl80211_event.o
30DRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
31DRV_OBJS += ../src/drivers/driver_nl80211_scan.o
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070032DRV_OBJS += ../src/utils/radiotap.o
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080033ifdef CONFIG_DRIVER_NL80211_QCA
34DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
35endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070036NEED_SME=y
37NEED_AP_MLME=y
38NEED_NETLINK=y
39NEED_LINUX_IOCTL=y
40NEED_RFKILL=y
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070041
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080042ifdef CONFIG_LIBNL32
43 DRV_LIBS += -lnl-3
44 DRV_LIBS += -lnl-genl-3
Dmitry Shmidt7f656022015-02-25 14:36:37 -080045 DRV_CFLAGS += -DCONFIG_LIBNL20
46 ifdef LIBNL_INC
47 DRV_CFLAGS += -I$(LIBNL_INC)
48 else
49 PKG_CONFIG ?= pkg-config
50 DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
51 endif
Dmitry Shmidt661b4f72014-09-29 14:58:27 -070052ifdef CONFIG_LIBNL3_ROUTE
53 DRV_LIBS += -lnl-route-3
54 DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
55endif
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080056else
57 ifdef CONFIG_LIBNL_TINY
58 DRV_LIBS += -lnl-tiny
59 else
Dmitry Shmidtd80a4012015-11-05 16:35:40 -080060 ifndef CONFIG_OSX
61 DRV_LIBS += -lnl
62 endif
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080063 endif
64
65 ifdef CONFIG_LIBNL20
66 DRV_LIBS += -lnl-genl
67 DRV_CFLAGS += -DCONFIG_LIBNL20
68 endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070069endif
70endif
71
72ifdef CONFIG_DRIVER_BSD
73ifndef CONFIG_L2_PACKET
74CONFIG_L2_PACKET=freebsd
75endif
76DRV_CFLAGS += -DCONFIG_DRIVER_BSD
77DRV_OBJS += ../src/drivers/driver_bsd.o
78CONFIG_L2_FREEBSD=y
79CONFIG_DNET_PCAP=y
80endif
81
Dmitry Shmidt4b9d52f2013-02-05 17:44:43 -080082ifdef CONFIG_DRIVER_OPENBSD
83ifndef CONFIG_L2_PACKET
84CONFIG_L2_PACKET=freebsd
85endif
86DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
87DRV_OBJS += ../src/drivers/driver_openbsd.o
88endif
89
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -070090ifdef CONFIG_DRIVER_NONE
91DRV_CFLAGS += -DCONFIG_DRIVER_NONE
92DRV_OBJS += ../src/drivers/driver_none.o
93endif
94
95##### PURE AP DRIVERS
96
Dmitry Shmidt1f69aa52012-01-24 16:10:04 -080097ifdef CONFIG_DRIVER_HOSTAP
98DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
99DRV_AP_OBJS += ../src/drivers/driver_hostap.o
100CONFIG_WIRELESS_EXTENSION=y
101NEED_AP_MLME=y
102NEED_NETLINK=y
103NEED_LINUX_IOCTL=y
104endif
105
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700106ifdef CONFIG_DRIVER_ATHEROS
107DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
108DRV_AP_OBJS += ../src/drivers/driver_atheros.o
109CONFIG_L2_PACKET=linux
110NEED_NETLINK=y
111NEED_LINUX_IOCTL=y
Dmitry Shmidt09f57ba2014-06-10 16:07:13 -0700112ifdef ATH_GCM_SUPPORT
113CFLAGS += -DATH_GCM_SUPPORT
114endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700115endif
116
117##### PURE CLIENT DRIVERS
118
119ifdef CONFIG_DRIVER_WEXT
120DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
121CONFIG_WIRELESS_EXTENSION=y
122NEED_NETLINK=y
123NEED_LINUX_IOCTL=y
124NEED_RFKILL=y
125endif
126
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700127ifdef CONFIG_DRIVER_NDIS
128DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
129DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
130ifdef CONFIG_NDIS_EVENTS_INTEGRATED
131DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
132endif
133ifndef CONFIG_L2_PACKET
134CONFIG_L2_PACKET=pcap
135endif
136CONFIG_WINPCAP=y
137ifdef CONFIG_USE_NDISUIO
138DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
139endif
140endif
141
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700142ifdef CONFIG_DRIVER_ROBOSWITCH
143DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
144DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
145endif
146
147ifdef CONFIG_WIRELESS_EXTENSION
148DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
149DRV_WPA_OBJS += ../src/drivers/driver_wext.o
150NEED_RFKILL=y
151endif
152
153ifdef NEED_NETLINK
154DRV_OBJS += ../src/drivers/netlink.o
155endif
156
157ifdef NEED_LINUX_IOCTL
158DRV_OBJS += ../src/drivers/linux_ioctl.o
159endif
160
161ifdef NEED_RFKILL
162DRV_OBJS += ../src/drivers/rfkill.o
163endif
164
Dmitry Shmidt61d9df32012-08-29 16:22:06 -0700165ifdef CONFIG_VLAN_NETLINK
166ifdef CONFIG_FULL_DYNAMIC_VLAN
167ifdef CONFIG_LIBNL32
168 DRV_LIBS += -lnl-3
169 DRV_LIBS += -lnl-genl-3
170 DRV_LIBS += -lnl-route-3
171 DRV_CFLAGS += -DCONFIG_LIBNL20
172else
173 ifdef CONFIG_LIBNL_TINY
174 DRV_LIBS += -lnl-tiny
175 else
176 DRV_LIBS += -lnl
177 endif
178
179 ifdef CONFIG_LIBNL20
180 DRV_LIBS += -lnl-genl
181 DRV_LIBS += -lnl-route
182 DRV_CFLAGS += -DCONFIG_LIBNL20
183 endif
184endif
185endif
186endif
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -0700187
188##### COMMON VARS
189DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
190DRV_WPA_CFLAGS += $(DRV_CFLAGS)
191DRV_AP_CFLAGS += $(DRV_CFLAGS)
192
193DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
194DRV_WPA_LIBS += $(DRV_LIBS)
195DRV_AP_LIBS += $(DRV_LIBS)
196
197DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
198DRV_WPA_OBJS += $(DRV_OBJS)
199DRV_AP_OBJS += $(DRV_OBJS)
200
201DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
202DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
203DRV_AP_LDFLAGS += $(DRV_LDFLAGS)