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