xref: /freebsd/contrib/wpa/src/drivers/drivers.mak (revision 71e72c9e91c4b8007a4292e09669e8b549c29e97)
1##### 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
15ifdef CONFIG_DRIVER_WIRED
16DRV_CFLAGS += -DCONFIG_DRIVER_WIRED
17DRV_OBJS += ../src/drivers/driver_wired.o
18NEED_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
25NEED_LIBNL=y
26CONFIG_LIBNL3_ROUTE=y
27endif
28
29ifdef CONFIG_DRIVER_NL80211_BRCM
30DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_BRCM
31endif
32
33ifdef CONFIG_DRIVER_MACSEC_QCA
34DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
35DRV_OBJS += ../src/drivers/driver_macsec_qca.o
36NEED_DRV_WIRED_COMMON=1
37endif
38
39ifdef NEED_DRV_WIRED_COMMON
40DRV_OBJS += ../src/drivers/driver_wired_common.o
41endif
42
43ifdef CONFIG_DRIVER_NL80211
44DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
45DRV_OBJS += ../src/drivers/driver_nl80211.o
46DRV_OBJS += ../src/drivers/driver_nl80211_capa.o
47DRV_OBJS += ../src/drivers/driver_nl80211_event.o
48DRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
49DRV_OBJS += ../src/drivers/driver_nl80211_scan.o
50ifdef CONFIG_DRIVER_NL80211_QCA
51DRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
52endif
53NEED_SME=y
54NEED_AP_MLME=y
55NEED_NETLINK=y
56NEED_LINUX_IOCTL=y
57NEED_RFKILL=y
58NEED_RADIOTAP=y
59NEED_LIBNL=y
60endif
61
62ifdef CONFIG_DRIVER_BSD
63ifndef CONFIG_L2_PACKET
64CONFIG_L2_PACKET=freebsd
65endif
66DRV_CFLAGS += -DCONFIG_DRIVER_BSD
67DRV_OBJS += ../src/drivers/driver_bsd.o
68CONFIG_L2_FREEBSD=y
69CONFIG_DNET_PCAP=y
70endif
71
72ifdef CONFIG_DRIVER_OPENBSD
73ifndef CONFIG_L2_PACKET
74CONFIG_L2_PACKET=freebsd
75endif
76DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
77DRV_OBJS += ../src/drivers/driver_openbsd.o
78endif
79
80ifdef CONFIG_DRIVER_NONE
81DRV_CFLAGS += -DCONFIG_DRIVER_NONE
82DRV_OBJS += ../src/drivers/driver_none.o
83endif
84
85##### PURE AP DRIVERS
86
87##### PURE CLIENT DRIVERS
88
89ifdef CONFIG_DRIVER_WEXT
90DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
91CONFIG_WIRELESS_EXTENSION=y
92NEED_NETLINK=y
93NEED_LINUX_IOCTL=y
94NEED_RFKILL=y
95endif
96
97ifdef CONFIG_DRIVER_NDIS
98DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
99DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
100ifdef CONFIG_NDIS_EVENTS_INTEGRATED
101DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
102endif
103ifndef CONFIG_L2_PACKET
104CONFIG_L2_PACKET=pcap
105endif
106CONFIG_WINPCAP=y
107ifdef CONFIG_USE_NDISUIO
108DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
109endif
110endif
111
112ifdef CONFIG_DRIVER_ROBOSWITCH
113DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
114DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
115endif
116
117ifdef CONFIG_WIRELESS_EXTENSION
118DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
119DRV_WPA_OBJS += ../src/drivers/driver_wext.o
120NEED_RFKILL=y
121endif
122
123ifdef NEED_NETLINK
124DRV_OBJS += ../src/drivers/netlink.o
125endif
126
127ifdef NEED_RFKILL
128DRV_OBJS += ../src/drivers/rfkill.o
129endif
130
131ifdef NEED_RADIOTAP
132DRV_OBJS += ../src/utils/radiotap.o
133endif
134
135ifdef CONFIG_FULL_DYNAMIC_VLAN
136NEED_LINUX_IOCTL=y
137ifdef CONFIG_VLAN_NETLINK
138NEED_LIBNL=y
139CONFIG_LIBNL3_ROUTE=y
140endif
141endif
142
143ifdef NEED_LINUX_IOCTL
144DRV_OBJS += ../src/drivers/linux_ioctl.o
145endif
146
147ifdef NEED_LIBNL
148ifndef CONFIG_LIBNL32
149ifndef CONFIG_LIBNL20
150ifndef CONFIG_LIBNL_TINY
151PKG_CONFIG ?= pkg-config
152HAVE_LIBNL3 := $(shell $(PKG_CONFIG) --exists libnl-3.0; echo $$?)
153ifeq ($(HAVE_LIBNL3),0)
154CONFIG_LIBNL32=y
155endif
156endif
157endif
158endif
159
160ifdef CONFIG_LIBNL32
161  DRV_LIBS += -lnl-3
162  DRV_LIBS += -lnl-genl-3
163  ifdef LIBNL_INC
164    DRV_CFLAGS += -I$(LIBNL_INC)
165  else
166    PKG_CONFIG ?= pkg-config
167    DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
168  endif
169  ifdef CONFIG_LIBNL3_ROUTE
170    DRV_LIBS += -lnl-route-3
171    DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
172  endif
173else
174  ifdef CONFIG_LIBNL_TINY
175    DRV_LIBS += -lnl-tiny
176    DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-tiny)
177    DRV_CFLAGS += -D_GNU_SOURCE
178  else
179    ifndef CONFIG_OSX
180      DRV_LIBS += -lnl
181      DRV_LIBS += -lnl-genl
182    endif
183  endif
184endif
185endif
186
187##### COMMON VARS
188DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
189DRV_WPA_CFLAGS += $(DRV_CFLAGS)
190DRV_AP_CFLAGS += $(DRV_CFLAGS)
191
192DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
193DRV_WPA_LIBS += $(DRV_LIBS)
194DRV_AP_LIBS += $(DRV_LIBS)
195
196DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
197DRV_WPA_OBJS += $(DRV_OBJS)
198DRV_AP_OBJS += $(DRV_OBJS)
199
200DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
201DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
202DRV_AP_LDFLAGS += $(DRV_LDFLAGS)
203