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
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/utils/radiotap.c
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_SME=y
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AP_MLME=y
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
291f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
301f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_LIBNL32
311f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-3
321f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  DRV_LIBS += -lnl-genl-3
3361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
34661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtifdef CONFIG_LIBNL3_ROUTE
35661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_LIBS += -lnl-route-3
36661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
37661b4f78e48c697429dc46154a4125892c001718Dmitry Shmidtendif
388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtelse
391f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL_TINY
401f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-tiny
411f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  else
421f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl
431f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
451f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  ifdef CONFIG_LIBNL20
461f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_LIBS += -lnl-genl
471f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
481f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt  endif
498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
508d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_BSD
538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=freebsd
558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
568d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_BSD
578d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_bsd.c
588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_FREEBSD=y
598d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_DNET_PCAP=y
608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
618d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
624b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifdef CONFIG_DRIVER_OPENBSD
634b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtifndef CONFIG_L2_PACKET
644b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtCONFIG_L2_PACKET=freebsd
654b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
664b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
674b9d52f502481b258fec743c03a5e957e5605afcDmitry ShmidtDRV_OBJS += src/drivers/driver_openbsd.c
684b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidtendif
694b9d52f502481b258fec743c03a5e957e5605afcDmitry Shmidt
708d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_TEST
718d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_TEST
728d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_test.c
738d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_AP_MLME=y
748d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
758d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
768d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NONE
778d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_NONE
788d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/driver_none.c
798d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
808d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
818d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE AP DRIVERS
828d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
831f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_DRIVER_HOSTAP
841f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
851f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_OBJS += src/drivers/driver_hostap.c
861f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
871f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_AP_MLME=y
881f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_NETLINK=y
891f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtNEED_LINUX_IOCTL=y
901f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtendif
911f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt
921f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtifdef CONFIG_DRIVER_MADWIFI
931f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_CFLAGS += -DCONFIG_DRIVER_MADWIFI
941f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtDRV_AP_OBJS += src/drivers/driver_madwifi.c
951f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
961f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry ShmidtCONFIG_L2_PACKET=linux
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.c
1048d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=linux
1058d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1068d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
1078d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1088d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1098d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### PURE CLIENT DRIVERS
1108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_WEXT
1128d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
1138d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WIRELESS_EXTENSION=y
1148d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_NETLINK=y
1158d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_LINUX_IOCTL=y
1168d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_NDIS
1208d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
1218d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_ndis.c
1228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_NDIS_EVENTS_INTEGRATED
1238d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_ndis_.c
1248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifndef CONFIG_L2_PACKET
1268d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_L2_PACKET=pcap
1278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1288d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtCONFIG_WINPCAP=y
1298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_USE_NDISUIO
1308d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
1318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_ROBOSWITCH
1358d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
1368d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_roboswitch.c
1378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_WIRELESS_EXTENSION
1408d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
1418d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += src/drivers/driver_wext.c
1428d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtNEED_RFKILL=y
1438d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1448d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1458d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_NETLINK
1468d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/netlink.c
1478d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1488d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1498d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_LINUX_IOCTL
1508d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/linux_ioctl.c
1518d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1528d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1538d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef NEED_RFKILL
1548d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_OBJS += src/drivers/rfkill.c
1558d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1568d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1578d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtifdef CONFIG_DRIVER_CUSTOM
1588d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
1598d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtendif
1608d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
16161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_VLAN_NETLINK
16261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_FULL_DYNAMIC_VLAN
16361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtifdef CONFIG_LIBNL32
16461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-3
16561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-genl-3
16661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_LIBS += -lnl-route-3
16761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  DRV_CFLAGS += -DCONFIG_LIBNL20
16861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtelse
16961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL_TINY
17061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-tiny
17161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  else
17261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl
17361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
17461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
17561d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  ifdef CONFIG_LIBNL20
17661d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-genl
17761d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_LIBS += -lnl-route
17861d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt    DRV_CFLAGS += -DCONFIG_LIBNL20
17961d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt  endif
18061d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
18161d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
18261d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidtendif
18361d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt
1848d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt##### COMMON VARS
1858d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
1868d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_CFLAGS += $(DRV_CFLAGS)
1878d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_CFLAGS += $(DRV_CFLAGS)
1888d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1898d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
1908d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LIBS += $(DRV_LIBS)
1918d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LIBS += $(DRV_LIBS)
1928d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1938d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
1948d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_OBJS += $(DRV_OBJS)
1958d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_OBJS += $(DRV_OBJS)
1968d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
1978d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
1988d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
1998d520ff1dc2da35cdca849e982051b86468016d8Dmitry ShmidtDRV_AP_LDFLAGS += $(DRV_LDFLAGS)
200