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
298d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SME=y
308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AP_MLME=y
318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
338d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
341f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
351f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_LIBNL32
361f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-3
371f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-genl-3
3861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
39661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtifdef CONFIG_LIBNL3_ROUTE
40661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_LIBS += -lnl-route-3
41661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
42661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtendif
438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
441f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL_TINY
451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-tiny
461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  else
471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl
481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
501f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL20
511f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-genl
521f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
531f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
548d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_BSD
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=freebsd
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_BSD
628d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_bsd.c
638d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_FREEBSD=y
648d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_DNET_PCAP=y
658d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
668d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
674b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifdef CONFIG_DRIVER_OPENBSD
684b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifndef CONFIG_L2_PACKET
694b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtCONFIG_L2_PACKET=freebsd
704b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
714b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
724b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_OBJS += src/drivers/driver_openbsd.c
734b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
744b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidt
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NONE
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NONE
778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_none.c
788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE AP DRIVERS
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
821f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_DRIVER_HOSTAP
831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_OBJS += src/drivers/driver_hostap.c
851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_AP_MLME=y
871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_NETLINK=y
881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_LINUX_IOCTL=y
891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtendif
901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
918d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ATHEROS
928d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += src/drivers/driver_atheros.c
948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=linux
958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
968d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
978d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
988d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
998d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE CLIENT DRIVERS
1008d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1018d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_WEXT
1028d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
1038d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NDIS
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_ndis.c
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NDIS_EVENTS_INTEGRATED
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_ndis_.c
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=pcap
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WINPCAP=y
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_USE_NDISUIO
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ROBOSWITCH
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_roboswitch.c
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WIRELESS_EXTENSION
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_wext.c
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_NETLINK
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/netlink.c
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_LINUX_IOCTL
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/linux_ioctl.c
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_RFKILL
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/rfkill.c
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_CUSTOM
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
15161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_VLAN_NETLINK
15261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
15361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_LIBNL32
15461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-3
15561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-genl-3
15661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-route-3
15761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20
15861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtelse
15961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL_TINY
16061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-tiny
16161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  else
16261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl
16361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
16461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
16561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL20
16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-genl
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-route
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
17061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
17361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### COMMON VARS
1758d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
1768d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += $(DRV_CFLAGS)
1778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += $(DRV_CFLAGS)
1788d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1798d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
1808d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LIBS += $(DRV_LIBS)
1818d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LIBS += $(DRV_LIBS)
1828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1838d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += $(DRV_OBJS)
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += $(DRV_OBJS)
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LDFLAGS += $(DRV_LDFLAGS)
190