-include ../arch.mk
-include ../../path.mk
-include ../../.config

APPLET		= radvd
RADVD_PATH	= radvd-1.4
RADVD_TB	= radvd-1.4.tar.gz
PREFIX		= /usr/sbin

###############################################################################
ifeq ($(strip $(ELBOX_PROGS_GPL_RADVD_NOUSER_ALPHA)),y)
CFLAGS += -DALPHA_NO_USER_SUPPORT
endif

ifeq ($(strip $(ELBOX_PROGS_GPL_RADVD_NOLIBFL)),y)
CFLAGS += -DALPHA_NO_LIBFL_SUPPORT
endif
###############################################################################

all: radvd
radvd: prepare_radvd
	$(Q)if [ ! -f ./$(RADVD_PATH)/Makefile ]; then \
		echo -e "\033[32mradvd hasn't be config before, configuring...\033[0m"; \
		cd ./$(RADVD_PATH); \
		./configure --build=i386-linux --host=$(HOST_TYPE) CFLAGS="$(CFLAGS)"; \
	fi
	@echo -e "\033[32mCompiling radvd ...\033[0m"
	$(Q)make -C $(RADVD_PATH) radvd_LDADD=""

prepare_radvd:
	$(Q)if [ ! -d ./$(RADVD_PATH) ]; then \
                echo -e "\033[32mPrepare radvd source...\033[0m"; \
                tar zxf ./$(RADVD_TB); \
                echo -e "\033[32mPatch radvd source...\033[0m"; \
		cd $(RADVD_PATH); patch -p1 < ../patch/001.no_user.patch; cd ..; \
		cd $(RADVD_PATH); patch -p1 < ../patch/002.no_libfl.patch; cd ..; \
		cd $(RADVD_PATH); patch -p1 < ../bugfix/bugfix001_RA3times.patch; cd ..; \
		cd $(RADVD_PATH); patch -p1 < ../patch/003.ra_prfrlft.patch; cd ..; \
		cd $(RADVD_PATH); patch -p1 < ../patch/004.ra_validlft.patch; cd ..; \
		cd $(RADVD_PATH); patch -p1 < ../patch/005.ra_rtlft.patch; cd ..; \
        fi

install:
	$(Q)$(STRIP) $(RADVD_PATH)/radvd
	$(Q)$(STRIP) $(RADVD_PATH)/radvdump
	$(Q)[ -d $(TARGET)$(PREFIX) ] || mkdir -p $(TARGET)$(PREFIX)
	$(Q)cp -f ./$(RADVD_PATH)/radvd ./$(RADVD_PATH)/radvdump $(TARGET)$(PREFIX)
	$(Q)chmod +x $(TARGET)$(PREFIX)/radvd
	$(Q)chmod +x $(TARGET)$(PREFIX)/radvdump

clean:
	@echo -e "\033[32mCleaning radvd ...\033[0m"
	$(Q) rm -fr ./$(RADVD_PATH)


.PHONY: all install clean prepare_radvd

