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.c 18 endif 19 20 ifdef CONFIG_DRIVER_NL80211 21 DRV_CFLAGS += -DCONFIG_DRIVER_NL80211 22 DRV_OBJS += src/drivers/driver_nl80211.c 23 DRV_OBJS += src/utils/radiotap.c 24 NEED_SME=y 25 NEED_AP_MLME=y 26 NEED_NETLINK=y 27 NEED_LINUX_IOCTL=y 28 NEED_RFKILL=y 29 30 ifdef CONFIG_LIBNL32 31 DRV_LIBS += -lnl-3 32 DRV_LIBS += -lnl-genl-3 33 DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3 34 ifdef CONFIG_LIBNL3_ROUTE 35 DRV_LIBS += -lnl-route-3 36 DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE 37 endif 38 else 39 ifdef CONFIG_LIBNL_TINY 40 DRV_LIBS += -lnl-tiny 41 else 42 DRV_LIBS += -lnl 43 endif 44 45 ifdef CONFIG_LIBNL20 46 DRV_LIBS += -lnl-genl 47 DRV_CFLAGS += -DCONFIG_LIBNL20 48 endif 49 endif 50 endif 51 52 ifdef CONFIG_DRIVER_BSD 53 ifndef CONFIG_L2_PACKET 54 CONFIG_L2_PACKET=freebsd 55 endif 56 DRV_CFLAGS += -DCONFIG_DRIVER_BSD 57 DRV_OBJS += src/drivers/driver_bsd.c 58 CONFIG_L2_FREEBSD=y 59 CONFIG_DNET_PCAP=y 60 endif 61 62 ifdef CONFIG_DRIVER_OPENBSD 63 ifndef CONFIG_L2_PACKET 64 CONFIG_L2_PACKET=freebsd 65 endif 66 DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD 67 DRV_OBJS += src/drivers/driver_openbsd.c 68 endif 69 70 ifdef CONFIG_DRIVER_TEST 71 DRV_CFLAGS += -DCONFIG_DRIVER_TEST 72 DRV_OBJS += src/drivers/driver_test.c 73 NEED_AP_MLME=y 74 endif 75 76 ifdef CONFIG_DRIVER_NONE 77 DRV_CFLAGS += -DCONFIG_DRIVER_NONE 78 DRV_OBJS += src/drivers/driver_none.c 79 endif 80 81 ##### PURE AP DRIVERS 82 83 ifdef CONFIG_DRIVER_HOSTAP 84 DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP 85 DRV_AP_OBJS += src/drivers/driver_hostap.c 86 CONFIG_WIRELESS_EXTENSION=y 87 NEED_AP_MLME=y 88 NEED_NETLINK=y 89 NEED_LINUX_IOCTL=y 90 endif 91 92 ifdef CONFIG_DRIVER_MADWIFI 93 DRV_AP_CFLAGS += -DCONFIG_DRIVER_MADWIFI 94 DRV_AP_OBJS += src/drivers/driver_madwifi.c 95 CONFIG_WIRELESS_EXTENSION=y 96 CONFIG_L2_PACKET=linux 97 NEED_NETLINK=y 98 NEED_LINUX_IOCTL=y 99 endif 100 101 ifdef CONFIG_DRIVER_ATHEROS 102 DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS 103 DRV_AP_OBJS += src/drivers/driver_atheros.c 104 CONFIG_L2_PACKET=linux 105 NEED_NETLINK=y 106 NEED_LINUX_IOCTL=y 107 endif 108 109 ##### PURE CLIENT DRIVERS 110 111 ifdef CONFIG_DRIVER_WEXT 112 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT 113 CONFIG_WIRELESS_EXTENSION=y 114 NEED_NETLINK=y 115 NEED_LINUX_IOCTL=y 116 NEED_RFKILL=y 117 endif 118 119 ifdef CONFIG_DRIVER_NDIS 120 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS 121 DRV_WPA_OBJS += src/drivers/driver_ndis.c 122 ifdef CONFIG_NDIS_EVENTS_INTEGRATED 123 DRV_WPA_OBJS += src/drivers/driver_ndis_.c 124 endif 125 ifndef CONFIG_L2_PACKET 126 CONFIG_L2_PACKET=pcap 127 endif 128 CONFIG_WINPCAP=y 129 ifdef CONFIG_USE_NDISUIO 130 DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO 131 endif 132 endif 133 134 ifdef CONFIG_DRIVER_ROBOSWITCH 135 DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH 136 DRV_WPA_OBJS += src/drivers/driver_roboswitch.c 137 endif 138 139 ifdef CONFIG_WIRELESS_EXTENSION 140 DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 141 DRV_WPA_OBJS += src/drivers/driver_wext.c 142 NEED_RFKILL=y 143 endif 144 145 ifdef NEED_NETLINK 146 DRV_OBJS += src/drivers/netlink.c 147 endif 148 149 ifdef NEED_LINUX_IOCTL 150 DRV_OBJS += src/drivers/linux_ioctl.c 151 endif 152 153 ifdef NEED_RFKILL 154 DRV_OBJS += src/drivers/rfkill.c 155 endif 156 157 ifdef CONFIG_DRIVER_CUSTOM 158 DRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM 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) 200