47954ba87063ed99e72270433bf18b6d8f0929d4
[mech_eap.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 endif
19
20 ifdef CONFIG_DRIVER_MACSEC_QCA
21 DRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
22 DRV_OBJS += ../src/drivers/driver_macsec_qca.o
23 endif
24
25 ifdef CONFIG_DRIVER_NL80211
26 DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
27 DRV_OBJS += ../src/drivers/driver_nl80211.o
28 DRV_OBJS += ../src/drivers/driver_nl80211_capa.o
29 DRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
30 DRV_OBJS += ../src/utils/radiotap.o
31 NEED_SME=y
32 NEED_AP_MLME=y
33 NEED_NETLINK=y
34 NEED_LINUX_IOCTL=y
35 NEED_RFKILL=y
36
37 ifdef CONFIG_LIBNL32
38   DRV_LIBS += -lnl-3
39   DRV_LIBS += -lnl-genl-3
40   DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
41 ifdef CONFIG_LIBNL3_ROUTE
42   DRV_LIBS += -lnl-route-3
43   DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
44 endif
45 else
46   ifdef CONFIG_LIBNL_TINY
47     DRV_LIBS += -lnl-tiny
48   else
49     DRV_LIBS += -lnl
50   endif
51
52   ifdef CONFIG_LIBNL20
53     DRV_LIBS += -lnl-genl
54     DRV_CFLAGS += -DCONFIG_LIBNL20
55   endif
56 endif
57 endif
58
59 ifdef CONFIG_DRIVER_BSD
60 ifndef CONFIG_L2_PACKET
61 CONFIG_L2_PACKET=freebsd
62 endif
63 DRV_CFLAGS += -DCONFIG_DRIVER_BSD
64 DRV_OBJS += ../src/drivers/driver_bsd.o
65 CONFIG_L2_FREEBSD=y
66 CONFIG_DNET_PCAP=y
67 endif
68
69 ifdef CONFIG_DRIVER_OPENBSD
70 ifndef CONFIG_L2_PACKET
71 CONFIG_L2_PACKET=freebsd
72 endif
73 DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
74 DRV_OBJS += ../src/drivers/driver_openbsd.o
75 endif
76
77 ifdef CONFIG_DRIVER_NONE
78 DRV_CFLAGS += -DCONFIG_DRIVER_NONE
79 DRV_OBJS += ../src/drivers/driver_none.o
80 endif
81
82 ##### PURE AP DRIVERS
83
84 ifdef CONFIG_DRIVER_HOSTAP
85 DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
86 DRV_AP_OBJS += ../src/drivers/driver_hostap.o
87 CONFIG_WIRELESS_EXTENSION=y
88 NEED_AP_MLME=y
89 NEED_NETLINK=y
90 NEED_LINUX_IOCTL=y
91 endif
92
93 ifdef CONFIG_DRIVER_MADWIFI
94 DRV_AP_CFLAGS += -DCONFIG_DRIVER_MADWIFI
95 DRV_AP_OBJS += ../src/drivers/driver_madwifi.o
96 CONFIG_WIRELESS_EXTENSION=y
97 CONFIG_L2_PACKET=linux
98 NEED_NETLINK=y
99 NEED_LINUX_IOCTL=y
100 endif
101
102 ifdef CONFIG_DRIVER_ATHEROS
103 DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
104 DRV_AP_OBJS += ../src/drivers/driver_atheros.o
105 CONFIG_L2_PACKET=linux
106 NEED_NETLINK=y
107 NEED_LINUX_IOCTL=y
108 ifdef ATH_GCM_SUPPORT
109 CFLAGS += -DATH_GCM_SUPPORT
110 endif
111 endif
112
113 ##### PURE CLIENT DRIVERS
114
115 ifdef CONFIG_DRIVER_WEXT
116 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
117 CONFIG_WIRELESS_EXTENSION=y
118 NEED_NETLINK=y
119 NEED_LINUX_IOCTL=y
120 NEED_RFKILL=y
121 endif
122
123 ifdef CONFIG_DRIVER_NDIS
124 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
125 DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
126 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
127 DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
128 endif
129 ifndef CONFIG_L2_PACKET
130 CONFIG_L2_PACKET=pcap
131 endif
132 CONFIG_WINPCAP=y
133 ifdef CONFIG_USE_NDISUIO
134 DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
135 endif
136 endif
137
138 ifdef CONFIG_DRIVER_ROBOSWITCH
139 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
140 DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
141 endif
142
143 ifdef CONFIG_WIRELESS_EXTENSION
144 DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
145 DRV_WPA_OBJS += ../src/drivers/driver_wext.o
146 NEED_RFKILL=y
147 endif
148
149 ifdef NEED_NETLINK
150 DRV_OBJS += ../src/drivers/netlink.o
151 endif
152
153 ifdef NEED_LINUX_IOCTL
154 DRV_OBJS += ../src/drivers/linux_ioctl.o
155 endif
156
157 ifdef NEED_RFKILL
158 DRV_OBJS += ../src/drivers/rfkill.o
159 endif
160
161 ifdef CONFIG_VLAN_NETLINK
162 ifdef CONFIG_FULL_DYNAMIC_VLAN
163 ifdef CONFIG_LIBNL32
164   DRV_LIBS += -lnl-3
165   DRV_LIBS += -lnl-genl-3
166   DRV_LIBS += -lnl-route-3
167   DRV_CFLAGS += -DCONFIG_LIBNL20
168 else
169   ifdef CONFIG_LIBNL_TINY
170     DRV_LIBS += -lnl-tiny
171   else
172     DRV_LIBS += -lnl
173   endif
174
175   ifdef CONFIG_LIBNL20
176     DRV_LIBS += -lnl-genl
177     DRV_LIBS += -lnl-route
178     DRV_CFLAGS += -DCONFIG_LIBNL20
179   endif
180 endif
181 endif
182 endif
183
184 ##### COMMON VARS
185 DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
186 DRV_WPA_CFLAGS += $(DRV_CFLAGS)
187 DRV_AP_CFLAGS += $(DRV_CFLAGS)
188
189 DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
190 DRV_WPA_LIBS += $(DRV_LIBS)
191 DRV_AP_LIBS += $(DRV_LIBS)
192
193 DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
194 DRV_WPA_OBJS += $(DRV_OBJS)
195 DRV_AP_OBJS += $(DRV_OBJS)
196
197 DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
198 DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
199 DRV_AP_LDFLAGS += $(DRV_LDFLAGS)