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.c
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NL80211
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NL80211
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_nl80211.c
23fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry ShmidtDRV_OBJS += src/drivers/driver_nl80211_android.c
24fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry ShmidtDRV_OBJS += src/drivers/driver_nl80211_capa.c
25fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry ShmidtDRV_OBJS += src/drivers/driver_nl80211_event.c
26fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry ShmidtDRV_OBJS += src/drivers/driver_nl80211_monitor.c
27fb45fd5cfed8bdccd0859c7fc05449fc187e2d06Dmitry ShmidtDRV_OBJS += src/drivers/driver_nl80211_scan.c
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/utils/radiotap.c
29d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry Shmidtifdef CONFIG_DRIVER_NL80211_QCA
30d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA
31d80a401aed31d06f261efd19223cf55d1a2a8228Dmitry Shmidtendif
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SME=y
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AP_MLME=y
348d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
381f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_LIBNL32
391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-3
401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-genl-3
4161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
42661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtifdef CONFIG_LIBNL3_ROUTE
43661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_LIBS += -lnl-route-3
44661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
45661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtendif
468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL_TINY
481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-tiny
491f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  else
501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl
511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL20
54e4663044d3a689fb5458247e9bc0f8b58cf72fcaDmitry Shmidt    ifndef CONFIG_LIBNL_TINY
55e4663044d3a689fb5458247e9bc0f8b58cf72fcaDmitry Shmidt      DRV_LIBS += -lnl-genl
56e4663044d3a689fb5458247e9bc0f8b58cf72fcaDmitry Shmidt    endif
571f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
581f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
628d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_BSD
638d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=freebsd
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_BSD
678d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_bsd.c
688d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_FREEBSD=y
698d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_DNET_PCAP=y
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
724b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifdef CONFIG_DRIVER_OPENBSD
734b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifndef CONFIG_L2_PACKET
744b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtCONFIG_L2_PACKET=freebsd
754b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
764b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
774b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_OBJS += src/drivers/driver_openbsd.c
784b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
794b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidt
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NONE
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NONE
828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_none.c
838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
858d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE AP DRIVERS
868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_DRIVER_HOSTAP
881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_OBJS += src/drivers/driver_hostap.c
901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_AP_MLME=y
921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_NETLINK=y
931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_LINUX_IOCTL=y
941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtendif
951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ATHEROS
978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += src/drivers/driver_atheros.c
998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=linux
1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE CLIENT DRIVERS
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_WEXT
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NDIS
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_ndis.c
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NDIS_EVENTS_INTEGRATED
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_ndis_.c
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=pcap
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WINPCAP=y
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_USE_NDISUIO
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ROBOSWITCH
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_roboswitch.c
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WIRELESS_EXTENSION
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_wext.c
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_NETLINK
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/netlink.c
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_LINUX_IOCTL
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/linux_ioctl.c
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_RFKILL
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/rfkill.c
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_CUSTOM
1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
15661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_VLAN_NETLINK
15761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
15861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_LIBNL32
15961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-3
16061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-genl-3
16161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-route-3
16261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20
16361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtelse
16461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL_TINY
16561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-tiny
16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  else
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
17061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL20
17161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-genl
17261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-route
17361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
17461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
17561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### COMMON VARS
1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += $(DRV_CFLAGS)
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += $(DRV_CFLAGS)
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LIBS += $(DRV_LIBS)
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LIBS += $(DRV_LIBS)
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += $(DRV_OBJS)
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += $(DRV_OBJS)
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LDFLAGS += $(DRV_LDFLAGS)
195