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