drivers.mk 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. ##### CLEAR VARS
  2. DRV_CFLAGS =
  3. DRV_WPA_CFLAGS =
  4. DRV_AP_CFLAGS =
  5. DRV_OBJS =
  6. DRV_WPA_OBJS =
  7. DRV_AP_OBJS =
  8. DRV_LIBS =
  9. DRV_WPA_LIBS =
  10. DRV_AP_LIBS =
  11. ##### COMMON DRIVERS
  12. ifdef CONFIG_DRIVER_WIRED
  13. DRV_CFLAGS += -DCONFIG_DRIVER_WIRED
  14. DRV_OBJS += src/drivers/driver_wired.c
  15. endif
  16. ifdef CONFIG_DRIVER_NL80211
  17. DRV_CFLAGS += -DCONFIG_DRIVER_NL80211
  18. DRV_OBJS += src/drivers/driver_nl80211.c
  19. DRV_OBJS += src/drivers/driver_nl80211_android.c
  20. DRV_OBJS += src/drivers/driver_nl80211_capa.c
  21. DRV_OBJS += src/drivers/driver_nl80211_event.c
  22. DRV_OBJS += src/drivers/driver_nl80211_monitor.c
  23. DRV_OBJS += src/drivers/driver_nl80211_scan.c
  24. DRV_OBJS += src/utils/radiotap.c
  25. NEED_SME=y
  26. NEED_AP_MLME=y
  27. NEED_NETLINK=y
  28. NEED_LINUX_IOCTL=y
  29. NEED_RFKILL=y
  30. ifdef CONFIG_LIBNL32
  31. DRV_LIBS += -lnl-3
  32. DRV_LIBS += -lnl-genl-3
  33. DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
  34. ifdef CONFIG_LIBNL3_ROUTE
  35. DRV_LIBS += -lnl-route-3
  36. DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
  37. endif
  38. else
  39. ifdef CONFIG_LIBNL_TINY
  40. DRV_LIBS += -lnl-tiny
  41. else
  42. DRV_LIBS += -lnl
  43. endif
  44. ifdef CONFIG_LIBNL20
  45. DRV_LIBS += -lnl-genl
  46. DRV_CFLAGS += -DCONFIG_LIBNL20
  47. endif
  48. endif
  49. endif
  50. ifdef CONFIG_DRIVER_BSD
  51. ifndef CONFIG_L2_PACKET
  52. CONFIG_L2_PACKET=freebsd
  53. endif
  54. DRV_CFLAGS += -DCONFIG_DRIVER_BSD
  55. DRV_OBJS += src/drivers/driver_bsd.c
  56. CONFIG_L2_FREEBSD=y
  57. CONFIG_DNET_PCAP=y
  58. endif
  59. ifdef CONFIG_DRIVER_OPENBSD
  60. ifndef CONFIG_L2_PACKET
  61. CONFIG_L2_PACKET=freebsd
  62. endif
  63. DRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD
  64. DRV_OBJS += src/drivers/driver_openbsd.c
  65. endif
  66. ifdef CONFIG_DRIVER_NONE
  67. DRV_CFLAGS += -DCONFIG_DRIVER_NONE
  68. DRV_OBJS += src/drivers/driver_none.c
  69. endif
  70. ##### PURE AP DRIVERS
  71. ifdef CONFIG_DRIVER_HOSTAP
  72. DRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP
  73. DRV_AP_OBJS += src/drivers/driver_hostap.c
  74. CONFIG_WIRELESS_EXTENSION=y
  75. NEED_AP_MLME=y
  76. NEED_NETLINK=y
  77. NEED_LINUX_IOCTL=y
  78. endif
  79. ifdef CONFIG_DRIVER_ATHEROS
  80. DRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS
  81. DRV_AP_OBJS += src/drivers/driver_atheros.c
  82. CONFIG_L2_PACKET=linux
  83. NEED_NETLINK=y
  84. NEED_LINUX_IOCTL=y
  85. endif
  86. ##### PURE CLIENT DRIVERS
  87. ifdef CONFIG_DRIVER_WEXT
  88. DRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT
  89. CONFIG_WIRELESS_EXTENSION=y
  90. NEED_NETLINK=y
  91. NEED_LINUX_IOCTL=y
  92. NEED_RFKILL=y
  93. endif
  94. ifdef CONFIG_DRIVER_NDIS
  95. DRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS
  96. DRV_WPA_OBJS += src/drivers/driver_ndis.c
  97. ifdef CONFIG_NDIS_EVENTS_INTEGRATED
  98. DRV_WPA_OBJS += src/drivers/driver_ndis_.c
  99. endif
  100. ifndef CONFIG_L2_PACKET
  101. CONFIG_L2_PACKET=pcap
  102. endif
  103. CONFIG_WINPCAP=y
  104. ifdef CONFIG_USE_NDISUIO
  105. DRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO
  106. endif
  107. endif
  108. ifdef CONFIG_DRIVER_ROBOSWITCH
  109. DRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH
  110. DRV_WPA_OBJS += src/drivers/driver_roboswitch.c
  111. endif
  112. ifdef CONFIG_WIRELESS_EXTENSION
  113. DRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION
  114. DRV_WPA_OBJS += src/drivers/driver_wext.c
  115. NEED_RFKILL=y
  116. endif
  117. ifdef NEED_NETLINK
  118. DRV_OBJS += src/drivers/netlink.c
  119. endif
  120. ifdef NEED_LINUX_IOCTL
  121. DRV_OBJS += src/drivers/linux_ioctl.c
  122. endif
  123. ifdef NEED_RFKILL
  124. DRV_OBJS += src/drivers/rfkill.c
  125. endif
  126. ifdef CONFIG_DRIVER_CUSTOM
  127. DRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM
  128. endif
  129. ifdef CONFIG_VLAN_NETLINK
  130. ifdef CONFIG_FULL_DYNAMIC_VLAN
  131. ifdef CONFIG_LIBNL32
  132. DRV_LIBS += -lnl-3
  133. DRV_LIBS += -lnl-genl-3
  134. DRV_LIBS += -lnl-route-3
  135. DRV_CFLAGS += -DCONFIG_LIBNL20
  136. else
  137. ifdef CONFIG_LIBNL_TINY
  138. DRV_LIBS += -lnl-tiny
  139. else
  140. DRV_LIBS += -lnl
  141. endif
  142. ifdef CONFIG_LIBNL20
  143. DRV_LIBS += -lnl-genl
  144. DRV_LIBS += -lnl-route
  145. DRV_CFLAGS += -DCONFIG_LIBNL20
  146. endif
  147. endif
  148. endif
  149. endif
  150. ##### COMMON VARS
  151. DRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS)
  152. DRV_WPA_CFLAGS += $(DRV_CFLAGS)
  153. DRV_AP_CFLAGS += $(DRV_CFLAGS)
  154. DRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS)
  155. DRV_WPA_LIBS += $(DRV_LIBS)
  156. DRV_AP_LIBS += $(DRV_LIBS)
  157. DRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS)
  158. DRV_WPA_OBJS += $(DRV_OBJS)
  159. DRV_AP_OBJS += $(DRV_OBJS)
  160. DRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS)
  161. DRV_WPA_LDFLAGS += $(DRV_LDFLAGS)
  162. DRV_AP_LDFLAGS += $(DRV_LDFLAGS)