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