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