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