CURR_PATH := $(shell pwd)

ifeq ($(CONFIG_SUPPORT_OPENWRT), y)
LIBNVRAM =
LDFLAGS += -lnvram
SRCS = sig_handlerd.c utils.c
else
NVDIR = $(ROOTDIR)/lib/libnvram
LIBNVRAM = $(NVDIR)/libnvram.so.0.9.28

UCONF_H = $(ROOTDIR)/config/autoconf.h
CONF_H  = $(ROOTDIR)/kernel_headers/include/linux/autoconf.h
CFLAGS += -I$(ROOTDIR)/kernel_headers/include/
CFLAGS += -I$(NVDIR) -I$(ROOTDIR)/$(LINUXDIR)/arch/mips/include -I$(ROOTDIR)/$(LINUXDIR)/drivers/char -I$(ROOTDIR)/user/lighttpd-1.4.20/cgi_src
ifeq ($(findstring y, $(CONFIG_RT2860V2_AP_WSC)$(CONFIG_WSC_INCLUDED)), y)
CFLAGS += -DWSC_SUPPORT
endif
LDFLAGS += -L$(NVDIR) -lnvram
ifeq ($(findstring y, $(CONFIG_USER_LIGHTY)), y)
LDFLAGS += -L$(ROOTDIR)/user/lighttpd-1.4.20/cgi_src -lwebutil
endif
SRCS = sig_handlerd.c
endif # CONFIG_SUPPORT_OPENWRT

ifeq ($(findstring y, $(CONFIG_EXTEND_NVRAM)), y)
WAPI_ON=$(CONFIG_RT2860V2_AP_WAPI)$(CONFIG_RT3090_AP_WAPI)$(CONFIG_RT5392_AP_WAPI)$(CONFIG_RT5592_AP_WAPI)$(CONFIG_RT3593_AP_WAPI)$(CONFIG_RT3572_AP_WAPI)$(CONFIG_RT5572_AP_WAPI)$(CONFIG_RT3680_iNIC_AP_WAPI)$(CONFIG_WAPI_SUPPORT)
ifeq ($(findstring y, $(WAPI_ON)), y)
CFLAGS += -DWAPI_SUPPORT
endif
endif

ifeq ($(CONFIG_DOT11W_PMF_SUPPORT), y)
CFLAGS += -DDOT11W_PMF_SUPPORT
endif

EXEC = sig_handlerd ralink_init
ifdef CONFIG_RT2880_L2_MANAGE
SRCS += md5c.c rmmsg.c ramad.c sig_handlerd.c
endif

OBJS := $(addprefix $(OBJ_PATH)/, $(notdir $(SRCS:.c=.o)))

all: $(CONF_H) $(UCONF_H) $(LIBNVRAM) $(EXEC)

sig_handlerd: $(OBJS)
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN_PATH)/$@ $^

ralink_init: $(OBJ_PATH)/ralink_init.o
	$(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN_PATH)/$@ $^

$(OBJ_PATH)/%.o: %.c 
	$(CC) $(CFLAGS) $(LDFLAGS) -c -o $@ $<
	$(STRIPTOOL) -x -R .note -R .comment $(OBJ_PATH)/$*.o

romfs:
	for i in $(EXEC) ; do $(ROMFSINST) $(BIN_PATH)/$$i /bin/$$i ; done
	$(ROMFSINST) -s ralink_init /bin/nvram_get
	$(ROMFSINST) -s ralink_init /bin/nvram_set
	$(ROMFSINST) -s sig_handlerd /bin/nvram_daemon

clean:
	for i in $(OBJS); do rm -f $$i; done
	rm -f $(OBJ_PATH)/ralink_init.o
	for i in $(EXEC); do rm -f $(BIN_PATH)/$$i; done
	@echo $(EXEC) cleaned.
