1*c1d255d3SCy Schubert##### CLEAR VARS 2*c1d255d3SCy Schubert 3*c1d255d3SCy SchubertDRV_CFLAGS = 4*c1d255d3SCy SchubertDRV_WPA_CFLAGS = 5*c1d255d3SCy SchubertDRV_AP_CFLAGS = 6*c1d255d3SCy SchubertDRV_OBJS = 7*c1d255d3SCy SchubertDRV_WPA_OBJS = 8*c1d255d3SCy SchubertDRV_AP_OBJS = 9*c1d255d3SCy SchubertDRV_LIBS = 10*c1d255d3SCy SchubertDRV_WPA_LIBS = 11*c1d255d3SCy SchubertDRV_AP_LIBS = 12*c1d255d3SCy Schubert 13*c1d255d3SCy Schubert##### COMMON DRIVERS 14*c1d255d3SCy Schubert 15*c1d255d3SCy Schubertifdef CONFIG_DRIVER_WIRED 16*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_WIRED 17*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_wired.c 18*c1d255d3SCy SchubertNEED_DRV_WIRED_COMMON=1 19*c1d255d3SCy Schubertendif 20*c1d255d3SCy Schubert 21*c1d255d3SCy Schubertifdef CONFIG_DRIVER_MACSEC_LINUX 22*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_MACSEC_LINUX 23*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_macsec_linux.c 24*c1d255d3SCy SchubertNEED_DRV_WIRED_COMMON=1 25*c1d255d3SCy SchubertCONFIG_LIBNL3_ROUTE=y 26*c1d255d3SCy SchubertNEED_LIBNL=y 27*c1d255d3SCy Schubertendif 28*c1d255d3SCy Schubert 29*c1d255d3SCy Schubertifdef NEED_DRV_WIRED_COMMON 30*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_wired_common.c 31*c1d255d3SCy Schubertendif 32*c1d255d3SCy Schubert 33*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NL80211 34*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NL80211 35*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211.c 36*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_android.c 37*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_capa.c 38*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_event.c 39*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_monitor.c 40*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_nl80211_scan.c 41*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NL80211_QCA 42*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NL80211_QCA 43*c1d255d3SCy Schubertendif 44*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NL80211_BRCM 45*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NL80211_BRCM 46*c1d255d3SCy Schubertendif 47*c1d255d3SCy SchubertNEED_SME=y 48*c1d255d3SCy SchubertNEED_AP_MLME=y 49*c1d255d3SCy SchubertNEED_NETLINK=y 50*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y 51*c1d255d3SCy SchubertNEED_RFKILL=y 52*c1d255d3SCy SchubertNEED_RADIOTAP=y 53*c1d255d3SCy SchubertNEED_LIBNL=y 54*c1d255d3SCy Schubertendif 55*c1d255d3SCy Schubert 56*c1d255d3SCy Schubertifdef CONFIG_DRIVER_BSD 57*c1d255d3SCy Schubertifndef CONFIG_L2_PACKET 58*c1d255d3SCy SchubertCONFIG_L2_PACKET=freebsd 59*c1d255d3SCy Schubertendif 60*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_BSD 61*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_bsd.c 62*c1d255d3SCy SchubertCONFIG_L2_FREEBSD=y 63*c1d255d3SCy SchubertCONFIG_DNET_PCAP=y 64*c1d255d3SCy Schubertendif 65*c1d255d3SCy Schubert 66*c1d255d3SCy Schubertifdef CONFIG_DRIVER_OPENBSD 67*c1d255d3SCy Schubertifndef CONFIG_L2_PACKET 68*c1d255d3SCy SchubertCONFIG_L2_PACKET=freebsd 69*c1d255d3SCy Schubertendif 70*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_OPENBSD 71*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_openbsd.c 72*c1d255d3SCy Schubertendif 73*c1d255d3SCy Schubert 74*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NONE 75*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_NONE 76*c1d255d3SCy SchubertDRV_OBJS += src/drivers/driver_none.c 77*c1d255d3SCy Schubertendif 78*c1d255d3SCy Schubert 79*c1d255d3SCy Schubert##### PURE AP DRIVERS 80*c1d255d3SCy Schubert 81*c1d255d3SCy Schubertifdef CONFIG_DRIVER_HOSTAP 82*c1d255d3SCy SchubertDRV_AP_CFLAGS += -DCONFIG_DRIVER_HOSTAP 83*c1d255d3SCy SchubertDRV_AP_OBJS += src/drivers/driver_hostap.c 84*c1d255d3SCy SchubertCONFIG_WIRELESS_EXTENSION=y 85*c1d255d3SCy SchubertNEED_AP_MLME=y 86*c1d255d3SCy SchubertNEED_NETLINK=y 87*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y 88*c1d255d3SCy Schubertendif 89*c1d255d3SCy Schubert 90*c1d255d3SCy Schubertifdef CONFIG_DRIVER_ATHEROS 91*c1d255d3SCy SchubertDRV_AP_CFLAGS += -DCONFIG_DRIVER_ATHEROS 92*c1d255d3SCy SchubertDRV_AP_OBJS += src/drivers/driver_atheros.c 93*c1d255d3SCy SchubertCONFIG_L2_PACKET=linux 94*c1d255d3SCy SchubertNEED_NETLINK=y 95*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y 96*c1d255d3SCy Schubertendif 97*c1d255d3SCy Schubert 98*c1d255d3SCy Schubert##### PURE CLIENT DRIVERS 99*c1d255d3SCy Schubert 100*c1d255d3SCy Schubertifdef CONFIG_DRIVER_WEXT 101*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_DRIVER_WEXT 102*c1d255d3SCy SchubertCONFIG_WIRELESS_EXTENSION=y 103*c1d255d3SCy SchubertNEED_NETLINK=y 104*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y 105*c1d255d3SCy SchubertNEED_RFKILL=y 106*c1d255d3SCy Schubertendif 107*c1d255d3SCy Schubert 108*c1d255d3SCy Schubertifdef CONFIG_DRIVER_NDIS 109*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_DRIVER_NDIS 110*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_ndis.c 111*c1d255d3SCy Schubertifdef CONFIG_NDIS_EVENTS_INTEGRATED 112*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_ndis_.c 113*c1d255d3SCy Schubertendif 114*c1d255d3SCy Schubertifndef CONFIG_L2_PACKET 115*c1d255d3SCy SchubertCONFIG_L2_PACKET=pcap 116*c1d255d3SCy Schubertendif 117*c1d255d3SCy SchubertCONFIG_WINPCAP=y 118*c1d255d3SCy Schubertifdef CONFIG_USE_NDISUIO 119*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_USE_NDISUIO 120*c1d255d3SCy Schubertendif 121*c1d255d3SCy Schubertendif 122*c1d255d3SCy Schubert 123*c1d255d3SCy Schubertifdef CONFIG_DRIVER_ROBOSWITCH 124*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_DRIVER_ROBOSWITCH 125*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_roboswitch.c 126*c1d255d3SCy Schubertendif 127*c1d255d3SCy Schubert 128*c1d255d3SCy Schubertifdef CONFIG_WIRELESS_EXTENSION 129*c1d255d3SCy SchubertDRV_WPA_CFLAGS += -DCONFIG_WIRELESS_EXTENSION 130*c1d255d3SCy SchubertDRV_WPA_OBJS += src/drivers/driver_wext.c 131*c1d255d3SCy SchubertNEED_RFKILL=y 132*c1d255d3SCy Schubertendif 133*c1d255d3SCy Schubert 134*c1d255d3SCy Schubertifdef NEED_NETLINK 135*c1d255d3SCy SchubertDRV_OBJS += src/drivers/netlink.c 136*c1d255d3SCy Schubertendif 137*c1d255d3SCy Schubert 138*c1d255d3SCy Schubertifdef NEED_RFKILL 139*c1d255d3SCy SchubertDRV_OBJS += src/drivers/rfkill.c 140*c1d255d3SCy Schubertendif 141*c1d255d3SCy Schubert 142*c1d255d3SCy Schubertifdef NEED_RADIOTAP 143*c1d255d3SCy SchubertDRV_OBJS += src/utils/radiotap.c 144*c1d255d3SCy Schubertendif 145*c1d255d3SCy Schubert 146*c1d255d3SCy Schubertifdef CONFIG_DRIVER_CUSTOM 147*c1d255d3SCy SchubertDRV_CFLAGS += -DCONFIG_DRIVER_CUSTOM 148*c1d255d3SCy Schubertendif 149*c1d255d3SCy Schubert 150*c1d255d3SCy Schubertifdef CONFIG_FULL_DYNAMIC_VLAN 151*c1d255d3SCy SchubertNEED_LINUX_IOCTL=y 152*c1d255d3SCy Schubertifdef CONFIG_VLAN_NETLINK 153*c1d255d3SCy SchubertNEED_LIBNL=y 154*c1d255d3SCy SchubertCONFIG_LIBNL3_ROUTE=y 155*c1d255d3SCy Schubertendif 156*c1d255d3SCy Schubertendif 157*c1d255d3SCy Schubert 158*c1d255d3SCy Schubertifdef NEED_LINUX_IOCTL 159*c1d255d3SCy SchubertDRV_OBJS += src/drivers/linux_ioctl.c 160*c1d255d3SCy Schubertendif 161*c1d255d3SCy Schubert 162*c1d255d3SCy Schubertifdef NEED_LIBNL 163*c1d255d3SCy Schubertifdef CONFIG_LIBNL32 164*c1d255d3SCy Schubert DRV_LIBS += -lnl-3 165*c1d255d3SCy Schubert DRV_LIBS += -lnl-genl-3 166*c1d255d3SCy Schubert DRV_CFLAGS += -I/usr/include/libnl3 167*c1d255d3SCy Schubertifdef CONFIG_LIBNL3_ROUTE 168*c1d255d3SCy Schubert DRV_LIBS += -lnl-route-3 169*c1d255d3SCy Schubert DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE 170*c1d255d3SCy Schubertendif 171*c1d255d3SCy Schubertelse 172*c1d255d3SCy Schubert ifdef CONFIG_LIBNL_TINY 173*c1d255d3SCy Schubert DRV_LIBS += -lnl-tiny 174*c1d255d3SCy Schubert else 175*c1d255d3SCy Schubert DRV_LIBS += -lnl 176*c1d255d3SCy Schubert DRV_LIBS += -lnl-genl 177*c1d255d3SCy Schubert endif 178*c1d255d3SCy Schubertendif 179*c1d255d3SCy Schubertendif 180*c1d255d3SCy Schubert 181*c1d255d3SCy Schubert##### COMMON VARS 182*c1d255d3SCy SchubertDRV_BOTH_CFLAGS := $(DRV_CFLAGS) $(DRV_WPA_CFLAGS) $(DRV_AP_CFLAGS) 183*c1d255d3SCy SchubertDRV_WPA_CFLAGS += $(DRV_CFLAGS) 184*c1d255d3SCy SchubertDRV_AP_CFLAGS += $(DRV_CFLAGS) 185*c1d255d3SCy Schubert 186*c1d255d3SCy SchubertDRV_BOTH_LIBS := $(DRV_LIBS) $(DRV_WPA_LIBS) $(DRV_AP_LIBS) 187*c1d255d3SCy SchubertDRV_WPA_LIBS += $(DRV_LIBS) 188*c1d255d3SCy SchubertDRV_AP_LIBS += $(DRV_LIBS) 189*c1d255d3SCy Schubert 190*c1d255d3SCy SchubertDRV_BOTH_OBJS := $(DRV_OBJS) $(DRV_WPA_OBJS) $(DRV_AP_OBJS) 191*c1d255d3SCy SchubertDRV_WPA_OBJS += $(DRV_OBJS) 192*c1d255d3SCy SchubertDRV_AP_OBJS += $(DRV_OBJS) 193*c1d255d3SCy Schubert 194*c1d255d3SCy SchubertDRV_BOTH_LDFLAGS := $(DRV_LDFLAGS) $(DRV_WPA_LDFLAGS) $(DRV_AP_LDFLAGS) 195*c1d255d3SCy SchubertDRV_WPA_LDFLAGS += $(DRV_LDFLAGS) 196*c1d255d3SCy SchubertDRV_AP_LDFLAGS += $(DRV_LDFLAGS) 197