ifndef CC
CC=gcc
endif

ifndef AR
AR=ar
endif

ifeq (,$(wildcard ../wpa_supplicant/.config))
$(info Building wpa_supplicant requires a configuration file (.config))
$(info run "cp defconfig_auto .config" in the wpa_supplicant folder.)
endif

include ../wpa_supplicant/.config

CFLAGS += -I../src
CFLAGS += -I../src/drivers
CFLAGS += -I../src/common
CFLAGS += -I../src/l2_packet
CFLAGS += -I../src/utils
CFLAGS += -I../src/wps
CFLAGS += -I../wapi
CFLAGS += -I../wpa_supplicant
CFLAGS += -DBCM_LINUX_BUILD -DANDROID -DANDROID_P2P
CFLAGS += $(CROSSTOOL_INCLUDE)

ifdef CONFIG_P2P
CFLAGS += -DCONFIG_P2P
endif

ifdef CONFIG_DRIVER_NL80211_IFX
CFLAGS += -DCONFIG_DRIVER_NL80211_IFX

# Broadcom merges
CFLAGS += -DCONFIG_BRCM_MERGES

# Retain old code to avoid some crash
CFLAGS += -DCONFIG_AP_VHT

ifdef CONFIG_BRCM_GENL
CFLAGS += -DBCM_GENL
endif

ifdef CONFIG_BRCM_DRV_ROAM
CFLAGS += -DBRCM_DRV_ROAM
endif
endif # CONFIG_DRIVER_NL80211_IFX == y

ifdef CONFIG_IEEE80211R
CFLAGS += -DCONFIG_IEEE80211R
endif

ifdef CONFIG_BRCM_VE
CFLAGS += -DBRCM_VE
endif

ifdef CONFIG_WAPI
CFLAGS += -DWAPI
CFLAGS += -I$(abspath ../src/wapi)
endif

ifdef CONFIG_BRCM_BT_WIFI_HO
CFLAGS += -DCONFIG_BRCM_BT_WIFI_HO
endif

ifdef CONFIG_BRCM_AUTOMOTIVE
CFLAGS += -DCONFIG_BRCM_AUTOMOTIVE
endif

LIB_SUPP = lib_driver_cmd_bcmdhd_supplicant.a
ifdef CONFIG_DRIVER_NL80211
   OBJ_SUPP += driver_cmd_nl80211.o
   SRC_SUPP += driver_cmd_nl80211.c
endif

# WEXT is no longer supported for libbcmdhd
#ifdef CONFIG_DRIVER_WEXT
#   OBJ_SUPP += driver_cmd_wext.o
#   SRC_SUPP += driver_cmd_wext.c
#endif

all: $(OBJ_SUPP)
	$(AR) rcs $(LIB_SUPP) $(OBJ_SUPP)

OBJ_SUPP: $(SRC_SUPP)
	$(CC) $(CFLAGS) -c $(SRC_SUPP)

clean:
	rm -f *.o $(LIB_SUPP)
