LDFLAGS += -lpthread
HS_EXEC = AFC

#PLATFORM = x86
PLATFORM = mipsel

ifeq ($(PLATFORM),x86)
CROSS_COMPILE=""
endif

ifeq ($(PLATFORM),mipsel)
CROSS_COMPILE = mipsel-linux-
endif

include $(TOPDIR)/.config

ifndef CFLAGS
CFLAGS = -MMD -O2 -Wall -Werror -g -lrt -lpthread
endif
CFLAGS += -Wall -g
#-Werror 

CFLAGS += -I./include -fgnu89-inline

LDFLAGS += -lnl-tiny

ifeq ($(CONFIG_SUPPORT_OPENWRT),y)
CFLAGS += -DOPENWRT_SUPPORT
CFLAGS += -DDHCP_CTL_OPENWRT
CFLAGS += -I$(UAPD_INCLUDE_PATH)
CFLAGS += -I$(NL80211_INCLUDE_PATH)
LDFLAGS += -ldatconf -lkvcutil
else
GLOBAL_INCLUDES_H = $(ROOTDIR)/$(LINUXDIR)/include/uapi/linux/wapp/
CFLAGS += -I$(GLOBAL_INCLUDES_H)
endif

# Define the SKU flags
ifeq ($(CONFIG_MTK_WIFI_SKU_TYPE),"AX8400")
CFLAGS += -DSKU_AX8400
else ifeq ($(CONFIG_MTK_WIFI_SKU_TYPE),"AX7800")
CFLAGS += -DSKU_AX7800
else ifeq ($(CONFIG_MTK_WIFI7_SKU_TYPE),"BE19000")
CFLAGS += -DSKU_BE19000
endif

LDFLAGS += -lcurl -ljson-c

#support CONFIG_LINUX_5_4
ifeq ($(CONFIG_LINUX_5_4), y)
CFLAGS += -DCONFIG_LINUX_5_4
endif


CC = $(CROSS_COMPILE)gcc
#support for local compilation validation
#make ARCH=mips BUILD=local
ifeq ($(BUILD), local)
ifeq ($(ARCH),arm)
CC=/proj/mtk15451/toolchain-7622/bin/aarch64-openwrt-linux-gnu-gcc
endif

ifeq ($(ARCH),mips)
CC= /opt/buildroot-gcc463/usr/bin/mipsel-linux-gcc
endif
endif

AFC_OBJS = afc_init.o netlink.o afc_data_parser.o Debug.o afc_driver_intf.o AFC.o eloop.o driver_nl80211.o


DEPS=$(patsubst %o,%d,$(AFC_OBJS))

all: $(HS_EXEC)

$(HS_EXEC): $(AFC_OBJS)
	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o $(HS_EXEC) $(AFC_OBJS) $(LDFLAGS)


-include $(DEPS)

.PHONY: all clean

romfs_dir = $(ROOTDIR)/romfs

romfs_dirs = etc/wifi

icon_dir = ./config_and_icon_files

romfs:
	[ -d $(romfs_dir)/$$i ] || mkdir -p $(romfs_dir)
	for i in $(romfs_dirs); do \
		[ -d $(romfs_dir)/$$i ] || mkdir -p $(romfs_dir)/$$i; \
	done
	$(ROMFSINST) /bin/$(HS_EXEC)

clean:
	rm -f *.o $(HS_EXEC) $(DEPS)
	rm -f $(AFC_OBJS)
