ifndef CC
CC=gcc
endif

ifndef AR
AR=ar
endif

include ../wpa_supplicant/.config
CFLAGS += -I$(abspath ./)
CFLAGS += -I$(abspath ../src)
CFLAGS += -I$(abspath ../src/drivers)
CFLAGS += -I$(abspath ../src/common)
CFLAGS += -I$(abspath ../src/l2_packet)
CFLAGS += -I$(abspath ../src/utils)
CFLAGS += -I$(abspath ../src/wps)
CFLAGS += -I$(abspath ../wpa_supplicant)

CFLAGS += -DPRIVATE_CMD

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

ifdef CONFIG_LIBNL32
  DRV_LIBS += -lnl-3
  DRV_LIBS += -lnl-genl-3
  DRV_CFLAGS += -DCONFIG_LIBNL20
  ifdef LIBNL_INC
    DRV_CFLAGS += -I$(LIBNL_INC)
  else
    PKG_CONFIG ?= pkg-config
    DRV_CFLAGS += $(shell $(PKG_CONFIG) --cflags libnl-3.0)
  endif
ifdef CONFIG_LIBNL3_ROUTE
  DRV_LIBS += -lnl-route-3
  DRV_CFLAGS += -DCONFIG_LIBNL3_ROUTE
endif
else
  ifdef CONFIG_LIBNL_TINY
    DRV_LIBS += -lnl-tiny
  else
    ifndef CONFIG_OSX
      DRV_LIBS += -lnl
    endif
  endif

  ifdef CONFIG_LIBNL20
    ifndef CONFIG_LIBNL_TINY
      DRV_LIBS += -lnl-genl
    endif
    DRV_CFLAGS += -DCONFIG_LIBNL20
  endif
endif

CFLAGS += $(DRV_CFLAGS)
LIBS += $(DRV_LIBS)

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

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

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