18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### CLEAR VARS
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS =
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS =
58d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS =
68d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS =
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS =
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS =
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_LIBS =
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LIBS =
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LIBS =
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### COMMON DRIVERS
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_WIRED
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_WIRED
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/driver_wired.o
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
205a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidtifdef CONFIG_DRIVER_MACSEC_QCA
215a1480c7c46c4236d93bfd303dde32062bee04acDmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_QCA
225a1480c7c46c4236d93bfd303dde32062bee04acDmitry ShmidtDRV_OBJS += ../src/drivers/driver_macsec_qca.o
235a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidtendif
245a1480c7c46c4236d93bfd303dde32062bee04acDmitry Shmidt
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NL80211
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NL80211
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/driver_nl80211.o
286c0da2bb83f6915d8260912362692d1a742e057bDmitry ShmidtDRV_OBJS += ../src/drivers/driver_nl80211_capa.o
296c0da2bb83f6915d8260912362692d1a742e057bDmitry ShmidtDRV_OBJS += ../src/drivers/driver_nl80211_event.o
306c0da2bb83f6915d8260912362692d1a742e057bDmitry ShmidtDRV_OBJS += ../src/drivers/driver_nl80211_monitor.o
316c0da2bb83f6915d8260912362692d1a742e057bDmitry ShmidtDRV_OBJS += ../src/drivers/driver_nl80211_scan.o
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/utils/radiotap.o
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SME=y
348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AP_MLME=y
358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_LIBNL32
401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-3
411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-genl-3
427f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20
437f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt  ifdef LIBNL_INC
447f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt    DRV_CFLAGS += -I$(LIBNL_INC)
457f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt  else
467f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt    PKG_CONFIG ?= pkg-config
477f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt    DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
487f65602d49069f96a7bb44da8bd79ffe8d4c6a98Dmitry Shmidt  endif
49661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtifdef CONFIG_LIBNL3_ROUTE
50661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_LIBS += -lnl-route-3
51661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
52661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtendif
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
541f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL_TINY
551f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-tiny
561f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  else
571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl
581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
601f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL20
611f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-genl
621f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
631f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
678d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_BSD
688d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
698d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=freebsd
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_BSD
728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/driver_bsd.o
738d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_FREEBSD=y
748d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_DNET_PCAP=y
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
774b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifdef CONFIG_DRIVER_OPENBSD
784b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifndef CONFIG_L2_PACKET
794b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtCONFIG_L2_PACKET=freebsd
804b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
814b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
824b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_OBJS += ../src/drivers/driver_openbsd.o
834b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
844b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidt
858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NONE
868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NONE
878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/driver_none.o
888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
898d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
908d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE AP DRIVERS
918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_DRIVER_HOSTAP
931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_OBJS += ../src/drivers/driver_hostap.o
951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_AP_MLME=y
971f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_NETLINK=y
981f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_LINUX_IOCTL=y
991f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtendif
1001f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ATHEROS
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += ../src/drivers/driver_atheros.o
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=linux
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
10709f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry Shmidtifdef ATH_GCM_SUPPORT
10809f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry ShmidtCFLAGS += -DATH_GCM_SUPPORT
10909f57babfc1e4473db20ced4f58a4c9f082c8ed8Dmitry Shmidtendif
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE CLIENT DRIVERS
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_WEXT
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NDIS
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += ../src/drivers/driver_ndis.o
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NDIS_EVENTS_INTEGRATED
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += ../src/drivers/driver_ndis_.o
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=pcap
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WINPCAP=y
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_USE_NDISUIO
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ROBOSWITCH
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += ../src/drivers/driver_roboswitch.o
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WIRELESS_EXTENSION
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += ../src/drivers/driver_wext.o
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_NETLINK
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/netlink.o
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_LINUX_IOCTL
1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/linux_ioctl.o
1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_RFKILL
1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += ../src/drivers/rfkill.o
1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
16061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_VLAN_NETLINK
16161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
16261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_LIBNL32
16361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-3
16461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-genl-3
16561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-route-3
16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtelse
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL_TINY
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-tiny
17061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  else
17161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl
17261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
17361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
17461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL20
17561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-genl
17661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-route
17761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
17861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
17961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
18061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
18161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### COMMON VARS
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += $(DRV_CFLAGS)
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += $(DRV_CFLAGS)
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LIBS += $(DRV_LIBS)
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LIBS += $(DRV_LIBS)
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += $(DRV_OBJS)
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += $(DRV_OBJS)
1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LDFLAGS += $(DRV_LDFLAGS)
199