drivers.mk 3.8 KB

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