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