]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/drivers/drivers.mak
Import wpa_supplicant/hostapd 2.7
[FreeBSD/FreeBSD.git] / src / drivers / drivers.mak
1 ##### CLEAR VARS
2
3 DRV_CFLAGS =
4 DRV_WPA_CFLAGS =
5 DRV_AP_CFLAGS =
6 DRV_OBJS =
7 DRV_WPA_OBJS =
8 DRV_AP_OBJS =
9 DRV_LIBS =
10 DRV_WPA_LIBS =
11 DRV_AP_LIBS =
12
13 ##### COMMON DRIVERS
14
15 ifdef CONFIG_DRIVER_WIRED
16 DRV_CFLAGS += -DCONFIG_DRIVER_WIRED
17 DRV_OBJS += ../src/drivers/driver_wired.o
18 NEED_DRV_WIRED_COMMON=1
19 endif
20
21 ifdef CONFIG_DRIVER_MACSEC_LINUX
22 DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_LINUX
23 DRV_OBJS += ../src/drivers/driver_macsec_linux.o
24 NEED_DRV_WIRED_COMMON=1
25 CONFIG_LIBNL3_ROUTE=y
26 endif
27
28 ifdef CONFIG_DRIVER_MACSEC_QCA
29 DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
30 DRV_OBJS += ../src/drivers/driver_macsec_qca.o
31 NEED_DRV_WIRED_COMMON=1
32 endif
33
34 ifdef NEED_DRV_WIRED_COMMON
35 DRV_OBJS += ../src/drivers/driver_wired_common.o
36 endif
37
38 ifdef CONFIG_DRIVER_NL80211
39 DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
40 DRV_OBJS += ../src/drivers/driver_nl80211.o
41 DRV_OBJS += ../src/drivers/driver_nl80211_capa.o
42 DRV_OBJS += ../src/drivers/driver_nl80211_event.o
43 DRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
44 DRV_OBJS += ../src/drivers/driver_nl80211_scan.o
45 ifdef CONFIG_DRIVER_NL80211_QCA
46 DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
47 endif
48 NEED_SME=y
49 NEED_AP_MLME=y
50 NEED_NETLINK=y
51 NEED_LINUX_IOCTL=y
52 NEED_RFKILL=y
53 NEED_RADIOTAP=y
54
55 ifdef CONFIG_LIBNL32
56   DRV_LIBS += -lnl-3
57   DRV_LIBS += -lnl-genl-3
58   DRV_CFLAGS += -DCONFIG_LIBNL20
59   ifdef LIBNL_INC
60     DRV_CFLAGS += -I$(LIBNL_INC)
61   else
62     PKG_CONFIG ?= pkg-config
63     DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
64   endif
65 ifdef CONFIG_LIBNL3_ROUTE
66   DRV_LIBS += -lnl-route-3
67   DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
68 endif
69 else
70   ifdef CONFIG_LIBNL_TINY
71     DRV_LIBS += -lnl-tiny
72   else
73     ifndef CONFIG_OSX
74       DRV_LIBS += -lnl
75     endif
76   endif
77
78   ifdef CONFIG_LIBNL20
79     ifndef CONFIG_LIBNL_TINY
80       DRV_LIBS += -lnl-genl
81     endif
82     DRV_CFLAGS += -DCONFIG_LIBNL20
83   endif
84 endif
85 endif
86
87 ifdef CONFIG_DRIVER_BSD
88 ifndef CONFIG_L2_PACKET
89 CONFIG_L2_PACKET=freebsd
90 endif
91 DRV_CFLAGS += -DCONFIG_DRIVER_BSD
92 DRV_OBJS += ../src/drivers/driver_bsd.o
93 CONFIG_L2_FREEBSD=y
94 CONFIG_DNET_PCAP=y
95 endif
96
97 ifdef CONFIG_DRIVER_OPENBSD
98 ifndef CONFIG_L2_PACKET
99 CONFIG_L2_PACKET=freebsd
100 endif
101 DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
102 DRV_OBJS += ../src/drivers/driver_openbsd.o
103 endif
104
105 ifdef CONFIG_DRIVER_NONE
106 DRV_CFLAGS += -DCONFIG_DRIVER_NONE
107 DRV_OBJS += ../src/drivers/driver_none.o
108 endif
109
110 ##### PURE AP DRIVERS
111
112 ifdef CONFIG_DRIVER_HOSTAP
113 DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
114 DRV_AP_OBJS += ../src/drivers/driver_hostap.o
115 CONFIG_WIRELESS_EXTENSION=y
116 NEED_AP_MLME=y
117 NEED_NETLINK=y
118 NEED_LINUX_IOCTL=y
119 endif
120
121 ifdef CONFIG_DRIVER_ATHEROS
122 DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
123 DRV_AP_OBJS += ../src/drivers/driver_atheros.o
124 CONFIG_L2_PACKET=linux
125 NEED_NETLINK=y
126 NEED_LINUX_IOCTL=y
127 ifdef ATH_GCM_SUPPORT
128 CFLAGS += -DATH_GCM_SUPPORT
129 endif
130 endif
131
132 ##### PURE CLIENT DRIVERS
133
134 ifdef CONFIG_DRIVER_WEXT
135 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
136 CONFIG_WIRELESS_EXTENSION=y
137 NEED_NETLINK=y
138 NEED_LINUX_IOCTL=y
139 NEED_RFKILL=y
140 endif
141
142 ifdef CONFIG_DRIVER_NDIS
143 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
144 DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
145 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
146 DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
147 endif
148 ifndef CONFIG_L2_PACKET
149 CONFIG_L2_PACKET=pcap
150 endif
151 CONFIG_WINPCAP=y
152 ifdef CONFIG_USE_NDISUIO
153 DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
154 endif
155 endif
156
157 ifdef CONFIG_DRIVER_ROBOSWITCH
158 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
159 DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
160 endif
161
162 ifdef CONFIG_WIRELESS_EXTENSION
163 DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
164 DRV_WPA_OBJS += ../src/drivers/driver_wext.o
165 NEED_RFKILL=y
166 endif
167
168 ifdef NEED_NETLINK
169 DRV_OBJS += ../src/drivers/netlink.o
170 endif
171
172 ifdef NEED_LINUX_IOCTL
173 DRV_OBJS += ../src/drivers/linux_ioctl.o
174 endif
175
176 ifdef NEED_RFKILL
177 DRV_OBJS += ../src/drivers/rfkill.o
178 endif
179
180 ifdef NEED_RADIOTAP
181 DRV_OBJS += ../src/utils/radiotap.o
182 endif
183
184 ifdef CONFIG_VLAN_NETLINK
185 ifdef CONFIG_FULL_DYNAMIC_VLAN
186 ifdef CONFIG_LIBNL32
187   DRV_LIBS += -lnl-3
188   DRV_LIBS += -lnl-genl-3
189   DRV_LIBS += -lnl-route-3
190   DRV_CFLAGS += -DCONFIG_LIBNL20
191 else
192   ifdef CONFIG_LIBNL_TINY
193     DRV_LIBS += -lnl-tiny
194   else
195     DRV_LIBS += -lnl
196   endif
197
198   ifdef CONFIG_LIBNL20
199     DRV_LIBS += -lnl-genl
200     DRV_LIBS += -lnl-route
201     DRV_CFLAGS += -DCONFIG_LIBNL20
202   endif
203 endif
204 endif
205 endif
206
207 ##### COMMON VARS
208 DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
209 DRV_WPA_CFLAGS += $(DRV_CFLAGS)
210 DRV_AP_CFLAGS += $(DRV_CFLAGS)
211
212 DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
213 DRV_WPA_LIBS += $(DRV_LIBS)
214 DRV_AP_LIBS += $(DRV_LIBS)
215
216 DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
217 DRV_WPA_OBJS += $(DRV_OBJS)
218 DRV_AP_OBJS += $(DRV_OBJS)
219
220 DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
221 DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
222 DRV_AP_LDFLAGS += $(DRV_LDFLAGS)