#*******************************************************************************
# include ZTE library makefile
#*******************************************************************************
include $(zte_lib_mak)

##############USER COMIZE BEGIN################

LIB_STATIC = libwlan_interface.a
LIB_SHARED = libwlan_interface.so

ifneq ($(CONFIG_WIFI_MODULE), )
ifeq ($(CONFIG_WIFI_MODULE), realtek)
OBJS = $(CONFIG_WIFI_MODULE)_interface.o
else
OBJS = hostapd_interface.o
endif

ifeq ($(CONFIG_WIFI_SINGLEAP), yes)
CFLAGS	+=  -D__SINGLE_AP__
endif

else
CFLAGS +=  -D__NO_WIFI__
endif

OBJS += interface_util.o

CFLAGS += -I$(zte_app_path)/zte_comm/at_ctl/inc
CFLAGS += -I$(zte_lib_path)/libatutils
CFLAGS += -I$(LINUX_DIR)/include
CFLAGS += -g


##############USER COMIZE END##################

CFLAGS += -I$(zte_app_path)/include
CFLAGS += -fPIC
LDFLAGS += -shared

all: $(LIB_STATIC) $(LIB_SHARED)

$(LIB_STATIC) : $(OBJS)
	$(AR) rcs $(LIB_STATIC) $(OBJS)

$(LIB_SHARED): $(OBJS)
	$(CC) $(LDFLAGS) -o $@ $^

romfs:
	$(ROMFSINST) $(LIB_SHARED) /lib/$(LIB_SHARED)

clean:
	-$(RM) *.a *.o *.so $(LIB_SHARED) $(LIB_STATIC) $(OBJS)

