Share a single Linux ioctl helper fo setting interface up/down
[libeap.git] / src / drivers / drivers.mak
1 ##### COMMON DRIVERS
2
3 ifdef CONFIG_DRIVER_HOSTAP
4 DRV_CFLAGS += -DCONFIG_DRIVER_HOSTAP
5 DRV_OBJS += ../src/drivers/driver_hostap.o
6 CONFIG_WIRELESS_EXTENSION=y
7 NEED_AP_MLME=y
8 NEED_NETLINK=y
9 NEED_LINUX_IOCTL=y
10 endif
11
12 ifdef CONFIG_DRIVER_WIRED
13 DRV_CFLAGS += -DCONFIG_DRIVER_WIRED
14 DRV_OBJS += ../src/drivers/driver_wired.o
15 endif
16
17 ifdef CONFIG_DRIVER_MADWIFI
18 DRV_CFLAGS += -DCONFIG_DRIVER_MADWIFI
19 DRV_OBJS += ../src/drivers/driver_madwifi.o
20 CONFIG_WIRELESS_EXTENSION=y
21 CONFIG_L2_PACKET=linux
22 NEED_NETLINK=y
23 NEED_LINUX_IOCTL=y
24 endif
25
26 ifdef CONFIG_DRIVER_NL80211
27 DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
28 DRV_OBJS += ../src/drivers/driver_nl80211.o
29 DRV_OBJS += ../src/utils/radiotap.o
30 NEED_SME=y
31 NEED_AP_MLME=y
32 NEED_NETLINK=y
33 NEED_LINUX_IOCTL=y
34 DRV_LIBS += -lnl
35
36 ifdef CONFIG_LIBNL20
37 DRV_LIBS += -lnl-genl
38 DRV_CFLAGS += -DCONFIG_LIBNL20
39 endif
40 endif
41
42 ifdef CONFIG_DRIVER_BSD
43 ifndef CONFIG_L2_PACKET
44 CONFIG_L2_PACKET=freebsd
45 endif
46 DRV_CFLAGS += -DCONFIG_DRIVER_BSD
47 DRV_OBJS += ../src/drivers/driver_bsd.o
48 CONFIG_L2_FREEBSD=y
49 CONFIG_DNET_PCAP=y
50 endif
51
52 ifdef CONFIG_DRIVER_TEST
53 DRV_CFLAGS += -DCONFIG_DRIVER_TEST
54 DRV_OBJS += ../src/drivers/driver_test.o
55 NEED_AP_MLME=y
56 endif
57
58 ifdef CONFIG_DRIVER_NONE
59 DRV_CFLAGS += -DCONFIG_DRIVER_NONE
60 DRV_OBJS += ../src/drivers/driver_none.o
61 endif
62
63 ##### PURE AP DRIVERS
64
65 ifdef CONFIG_DRIVER_ATHEROS
66 DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
67 DRV_AP_OBJS += ../src/drivers/driver_atheros.o
68 CONFIG_L2_PACKET=linux
69 NEED_NETLINK=y
70 endif
71
72 ##### PURE CLIENT DRIVERS
73
74 ifdef CONFIG_DRIVER_WEXT
75 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
76 CONFIG_WIRELESS_EXTENSION=y
77 NEED_NETLINK=y
78 NEED_LINUX_IOCTL=y
79 endif
80
81 ifdef CONFIG_DRIVER_HERMES
82 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_HERMES
83 DRV_WPA_OBJS += ../src/drivers/driver_hermes.o
84 CONFIG_WIRELESS_EXTENSION=y
85 endif
86
87 ifdef CONFIG_DRIVER_ATMEL
88 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ATMEL
89 DRV_WPA_OBJS += ../src/drivers/driver_atmel.o
90 CONFIG_WIRELESS_EXTENSION=y
91 endif
92
93 ifdef CONFIG_DRIVER_NDISWRAPPER
94 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDISWRAPPER
95 DRV_WPA_OBJS += ../src/drivers/driver_ndiswrapper.o
96 CONFIG_WIRELESS_EXTENSION=y
97 endif
98
99 ifdef CONFIG_DRIVER_RALINK
100 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_RALINK
101 DRV_WPA_OBJS += ../src/drivers/driver_ralink.o
102 NEED_NETLINK=y
103 NEED_LINUX_IOCTL=y
104 endif
105
106 ifdef CONFIG_DRIVER_BROADCOM
107 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_BROADCOM
108 DRV_WPA_OBJS += ../src/drivers/driver_broadcom.o
109 endif
110
111 ifdef CONFIG_DRIVER_IPW
112 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_IPW
113 DRV_WPA_OBJS += ../src/drivers/driver_ipw.o
114 CONFIG_WIRELESS_EXTENSION=y
115 endif
116
117 ifdef CONFIG_DRIVER_NDIS
118 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
119 DRV_WPA_OBJS += ../src/drivers/driver_ndis.o
120 ifdef CONFIG_NDIS_EVENTS_INTEGRATED
121 DRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
122 endif
123 ifndef CONFIG_L2_PACKET
124 CONFIG_L2_PACKET=pcap
125 endif
126 CONFIG_WINPCAP=y
127 ifdef CONFIG_USE_NDISUIO
128 DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
129 endif
130 endif
131
132 ifdef CONFIG_DRIVER_OSX
133 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_OSX
134 DRV_WPA_OBJS += ../src/drivers/driver_osx.o
135 DRV_WPA_LDFLAGS += -framework CoreFoundation
136 DRV_WPA_LDFLAGS += -F/System/Library/PrivateFrameworks -framework Apple80211
137 endif
138
139 ifdef CONFIG_DRIVER_PS3
140 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_PS3 -m64
141 DRV_WPA_OBJS += ../src/drivers/driver_ps3.o
142 DRV_WPA_LDFLAGS += -m64
143 endif
144
145 ifdef CONFIG_DRIVER_IPHONE
146 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_IPHONE
147 DRV_WPA_OBJS += ../src/drivers/driver_iphone.o
148 DRV_WPA_OBJS += ../src/drivers/MobileApple80211.o
149 DRV_WPA_LDFLAGS += -framework CoreFoundation
150 endif
151
152 ifdef CONFIG_DRIVER_ROBOSWITCH
153 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
154 DRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
155 endif
156
157 ifdef CONFIG_WIRELESS_EXTENSION
158 DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
159 DRV_WPA_OBJS += ../src/drivers/driver_wext.o
160 endif
161
162 ifdef NEED_NETLINK
163 DRV_OBJS += ../src/drivers/netlink.o
164 endif
165
166 ifdef NEED_LINUX_IOCTL
167 DRV_OBJS += ../src/drivers/linux_ioctl.o
168 endif
169
170
171 ##### COMMON VARS
172 DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
173 DRV_WPA_CFLAGS += $(DRV_CFLAGS)
174 DRV_AP_CFLAGS += $(DRV_CFLAGS)
175
176 DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
177 DRV_WPA_LIBS += $(DRV_LIBS)
178 DRV_AP_LIBS += $(DRV_LIBS)
179
180 DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
181 DRV_WPA_OBJS += $(DRV_OBJS)
182 DRV_AP_OBJS += $(DRV_OBJS)
183
184 DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
185 DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
186 DRV_AP_LDFLAGS += $(DRV_LDFLAGS)