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