xref: /freebsd/contrib/wpa/src/drivers/drivers.mk (revision c1d255d3ffdbe447de3ab875bf4e7d7accc5bfc5)
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.c
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.c
24*c1d255d3SCy SchubertNEED_DRV_WIRED_COMMON=1
25*c1d255d3SCy SchubertCONFIG_LIBNL3_ROUTE=y
26*c1d255d3SCy SchubertNEED_LIBNL=y
27*c1d255d3SCy Schubertendif
28*c1d255d3SCy Schubert
29*c1d255d3SCy Schubertifdef NEED_DRV_WIRED_COMMON
30*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_wired_common.c
31*c1d255d3SCy Schubertendif
32*c1d255d3SCy Schubert
33*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NL80211
34*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NL80211
35*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211.c
36*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_android.c
37*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_capa.c
38*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_event.c
39*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_monitor.c
40*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_scan.c
41*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NL80211_QCA
42*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
43*c1d255d3SCy Schubertendif
44*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NL80211_BRCM
45*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NL80211_BRCM
46*c1d255d3SCy Schubertendif
47*c1d255d3SCy SchubertNEED_SME=y
48*c1d255d3SCy SchubertNEED_AP_MLME=y
49*c1d255d3SCy SchubertNEED_NETLINK=y
50*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y
51*c1d255d3SCy SchubertNEED_RFKILL=y
52*c1d255d3SCy SchubertNEED_RADIOTAP=y
53*c1d255d3SCy SchubertNEED_LIBNL=y
54*c1d255d3SCy Schubertendif
55*c1d255d3SCy Schubert
56*c1d255d3SCy Schubertifdef CONFIG_DRIVER_BSD
57*c1d255d3SCy Schubertifndef CONFIG_L2_PACKET
58*c1d255d3SCy SchubertCONFIG_L2_PACKET=freebsd
59*c1d255d3SCy Schubertendif
60*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_BSD
61*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_bsd.c
62*c1d255d3SCy SchubertCONFIG_L2_FREEBSD=y
63*c1d255d3SCy SchubertCONFIG_DNET_PCAP=y
64*c1d255d3SCy Schubertendif
65*c1d255d3SCy Schubert
66*c1d255d3SCy Schubertifdef CONFIG_DRIVER_OPENBSD
67*c1d255d3SCy Schubertifndef CONFIG_L2_PACKET
68*c1d255d3SCy SchubertCONFIG_L2_PACKET=freebsd
69*c1d255d3SCy Schubertendif
70*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
71*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_openbsd.c
72*c1d255d3SCy Schubertendif
73*c1d255d3SCy Schubert
74*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NONE
75*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NONE
76*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_none.c
77*c1d255d3SCy Schubertendif
78*c1d255d3SCy Schubert
79*c1d255d3SCy Schubert##### PURE AP DRIVERS
80*c1d255d3SCy Schubert
81*c1d255d3SCy Schubertifdef CONFIG_DRIVER_HOSTAP
82*c1d255d3SCy SchubertDRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
83*c1d255d3SCy SchubertDRV_AP_OBJS += src/drivers/driver_hostap.c
84*c1d255d3SCy SchubertCONFIG_WIRELESS_EXTENSION=y
85*c1d255d3SCy SchubertNEED_AP_MLME=y
86*c1d255d3SCy SchubertNEED_NETLINK=y
87*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y
88*c1d255d3SCy Schubertendif
89*c1d255d3SCy Schubert
90*c1d255d3SCy Schubertifdef CONFIG_DRIVER_ATHEROS
91*c1d255d3SCy SchubertDRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
92*c1d255d3SCy SchubertDRV_AP_OBJS += src/drivers/driver_atheros.c
93*c1d255d3SCy SchubertCONFIG_L2_PACKET=linux
94*c1d255d3SCy SchubertNEED_NETLINK=y
95*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y
96*c1d255d3SCy Schubertendif
97*c1d255d3SCy Schubert
98*c1d255d3SCy Schubert##### PURE CLIENT DRIVERS
99*c1d255d3SCy Schubert
100*c1d255d3SCy Schubertifdef CONFIG_DRIVER_WEXT
101*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
102*c1d255d3SCy SchubertCONFIG_WIRELESS_EXTENSION=y
103*c1d255d3SCy SchubertNEED_NETLINK=y
104*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y
105*c1d255d3SCy SchubertNEED_RFKILL=y
106*c1d255d3SCy Schubertendif
107*c1d255d3SCy Schubert
108*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NDIS
109*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
110*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_ndis.c
111*c1d255d3SCy Schubertifdef CONFIG_NDIS_EVENTS_INTEGRATED
112*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_ndis_.c
113*c1d255d3SCy Schubertendif
114*c1d255d3SCy Schubertifndef CONFIG_L2_PACKET
115*c1d255d3SCy SchubertCONFIG_L2_PACKET=pcap
116*c1d255d3SCy Schubertendif
117*c1d255d3SCy SchubertCONFIG_WINPCAP=y
118*c1d255d3SCy Schubertifdef CONFIG_USE_NDISUIO
119*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
120*c1d255d3SCy Schubertendif
121*c1d255d3SCy Schubertendif
122*c1d255d3SCy Schubert
123*c1d255d3SCy Schubertifdef CONFIG_DRIVER_ROBOSWITCH
124*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
125*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_roboswitch.c
126*c1d255d3SCy Schubertendif
127*c1d255d3SCy Schubert
128*c1d255d3SCy Schubertifdef CONFIG_WIRELESS_EXTENSION
129*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
130*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_wext.c
131*c1d255d3SCy SchubertNEED_RFKILL=y
132*c1d255d3SCy Schubertendif
133*c1d255d3SCy Schubert
134*c1d255d3SCy Schubertifdef NEED_NETLINK
135*c1d255d3SCy SchubertDRV_OBJS += src/drivers/netlink.c
136*c1d255d3SCy Schubertendif
137*c1d255d3SCy Schubert
138*c1d255d3SCy Schubertifdef NEED_RFKILL
139*c1d255d3SCy SchubertDRV_OBJS += src/drivers/rfkill.c
140*c1d255d3SCy Schubertendif
141*c1d255d3SCy Schubert
142*c1d255d3SCy Schubertifdef NEED_RADIOTAP
143*c1d255d3SCy SchubertDRV_OBJS += src/utils/radiotap.c
144*c1d255d3SCy Schubertendif
145*c1d255d3SCy Schubert
146*c1d255d3SCy Schubertifdef CONFIG_DRIVER_CUSTOM
147*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
148*c1d255d3SCy Schubertendif
149*c1d255d3SCy Schubert
150*c1d255d3SCy Schubertifdef CONFIG_FULL_DYNAMIC_VLAN
151*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y
152*c1d255d3SCy Schubertifdef CONFIG_VLAN_NETLINK
153*c1d255d3SCy SchubertNEED_LIBNL=y
154*c1d255d3SCy SchubertCONFIG_LIBNL3_ROUTE=y
155*c1d255d3SCy Schubertendif
156*c1d255d3SCy Schubertendif
157*c1d255d3SCy Schubert
158*c1d255d3SCy Schubertifdef NEED_LINUX_IOCTL
159*c1d255d3SCy SchubertDRV_OBJS += src/drivers/linux_ioctl.c
160*c1d255d3SCy Schubertendif
161*c1d255d3SCy Schubert
162*c1d255d3SCy Schubertifdef NEED_LIBNL
163*c1d255d3SCy Schubertifdef CONFIG_LIBNL32
164*c1d255d3SCy Schubert  DRV_LIBS += -lnl-3
165*c1d255d3SCy Schubert  DRV_LIBS += -lnl-genl-3
166*c1d255d3SCy Schubert  DRV_CFLAGS += -I/usr/include/libnl3
167*c1d255d3SCy Schubertifdef CONFIG_LIBNL3_ROUTE
168*c1d255d3SCy Schubert  DRV_LIBS += -lnl-route-3
169*c1d255d3SCy Schubert  DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
170*c1d255d3SCy Schubertendif
171*c1d255d3SCy Schubertelse
172*c1d255d3SCy Schubert  ifdef CONFIG_LIBNL_TINY
173*c1d255d3SCy Schubert    DRV_LIBS += -lnl-tiny
174*c1d255d3SCy Schubert  else
175*c1d255d3SCy Schubert    DRV_LIBS += -lnl
176*c1d255d3SCy Schubert    DRV_LIBS += -lnl-genl
177*c1d255d3SCy Schubert  endif
178*c1d255d3SCy Schubertendif
179*c1d255d3SCy Schubertendif
180*c1d255d3SCy Schubert
181*c1d255d3SCy Schubert##### COMMON VARS
182*c1d255d3SCy SchubertDRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
183*c1d255d3SCy SchubertDRV_WPA_CFLAGS += $(DRV_CFLAGS)
184*c1d255d3SCy SchubertDRV_AP_CFLAGS += $(DRV_CFLAGS)
185*c1d255d3SCy Schubert
186*c1d255d3SCy SchubertDRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
187*c1d255d3SCy SchubertDRV_WPA_LIBS += $(DRV_LIBS)
188*c1d255d3SCy SchubertDRV_AP_LIBS += $(DRV_LIBS)
189*c1d255d3SCy Schubert
190*c1d255d3SCy SchubertDRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
191*c1d255d3SCy SchubertDRV_WPA_OBJS += $(DRV_OBJS)
192*c1d255d3SCy SchubertDRV_AP_OBJS += $(DRV_OBJS)
193*c1d255d3SCy Schubert
194*c1d255d3SCy SchubertDRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
195*c1d255d3SCy SchubertDRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
196*c1d255d3SCy SchubertDRV_AP_LDFLAGS += $(DRV_LDFLAGS)
197