ifeq "$(ROOTDIR)" ""
export ROOTDIR=$(shell while true; do if [ -f BaseVar.mk ]; then pwd;exit; else cd ..;fi;done;)
endif

include $(ROOTDIR)/.config
include $(ROOTDIR)/BaseVar.mk
.PHONY: all install distclean clean
HTML=standard

#--- languages ---#
lang-y := #
lang- := #
lang-${CONFIG_APPS_HTML_LANG_SUPPORT_en_us} += en_us
lang-${CONFIG_APPS_HTML_LANG_SUPPORT_zh_cn} += zh_cn
#--- style ---#


ifeq "$(CONFIG_APPS_HTML_WEB_STYLE_Genie)" "y"
template:=test_version.template
skin := genie
endif

ifeq "$(CONFIG_APPS_HTML_WEB_STYLE_GENIE_EXT)" "y"
template:=test_version.template
skin := genie_ext
endif

ifeq "$(CONFIG_APPS_HTML_WEB_STYLE_GENIE_EXT_R2)" "y"
template:=test_version.template
skin := genie_ext_r2
endif

#JS global.js
global := global.template

#HTML pages .html
page-y := #
page- := #
page-${CONFIG_APPS_LOGIC_LAN} += setup/vlan_lan.html setup/lan_advanced.html \
	setup/lan.html setup/bind_vlan.html setup/multiIPSetting.html setup/dhcp_IpPoll.html
page-${CONFIG_APPS_LOGIC_PPPOE} +=
page-${CONFIG_APPS_LOGIC_DNS} +=
page-${CONFIG_APPS_LOGIC_ETHLAN} +=
page-${CONFIG_APPS_LOGIC_ETHWAN} +=
page-${CONFIG_APPS_LOGIC_PING} +=
page-${CONFIG_APPS_LOGIC_WAN} +=
page-${CONFIG_APPS_LOGIC_WAN_VLAN} +=
page-${CONFIG_APPS_LOGIC_IPCONN} +=
page-${CONFIG_APPS_LOGIC_TR069} +=
page-${CONFIG_APPS_LOGIC_TR111} +=
page-${CONFIG_APPS_LOGIC_IPT} +=
page-${CONFIG_APPS_LOGIC_PORTMAPPING} +=
page-${CONFIG_APPS_LOGIC_ACL} +=
page-${CONFIG_APPS_LOGIC_LOGGER} +=
page-${CONFIG_APPS_LOGIC_DHCPS} +=
page-${CONFIG_APPS_LOGIC_DHCPR} +=
page-${CONFIG_APPS_LOGIC_ALG} +=
page-${CONFIG_APPS_LOGIC_BRIDGE} +=
page-${CONFIG_APPS_LOGIC_IGMP} +=
page-${CONFIG_APPS_LOGIC_SNMPC} +=
page-${CONFIG_APPS_LOGIC_QOS} +=
page-${CONFIG_APPS_LOGIC_STATIC_ROUTING} +=
page-${CONFIG_APPS_LOGIC_DYNAMIC_ROUTING} +=
page-${CONFIG_APPS_LOGIC_AUTH} +=
page-${CONFIG_APPS_LOGIC_FIREWALL} +=
page-${CONFIG_APPS_LOGIC_ANTIATTACK} +=
page-${CONFIG_APPS_LOGIC_URL_FILTER} +=
page-${CONFIG_APPS_LOGIC_MACFILTER} +=
page-${CONFIG_APPS_LOGIC_VLAN} +=
page-${CONFIG_APPS_LOGIC_SNTP} +=
page-${CONFIG_APPS_LOGIC_USB_MASS} +=
page-${CONFIG_APPS_LOGIC_FTPD} +=
page-${CONFIG_APPS_LOGIC_NATPRIO} +=
page-${CONFIG_APPS_LOGIC_LOGGER} +=
page-${CONFIG_APPS_LOGIC_WLAN} +=
page-${CONFIG_APPS_LOGIC_WLAN_WPS} +=
page-${CONFIG_APPS_LOGIC_UPNP} +=
page-${CONFIG_APPS_LOGIC_IPPMNGR} +=
page-${CONFIG_APPS_LOGIC_DHCPS_FILTER} +=

### add corresponding error messages according to the MACRO definition
ifeq ("$(CONFIG_APPS_LOGIC_WLAN_QOS)", "y")
	EXTRA_CFLAGS += -DWLAN_QOS_SUPPORT
endif

all:
distclean:
clean:
install:
	$(Q)rm -rf $(FSROOT)/usr/www/html
	$(Q)mkdir -p  $(FSROOT)/usr/www/html
	
	@sh $(ROOTDIR)/src/apps/html/wversion.sh $(template) $(ROOTDIR)
	$(Q)cp -f $(ROOTDIR)/build/apps/html/test_version.htm $(FSROOT)/usr/www/

	#for update languages packet online
	if [ $(CONFIG_APPS_LOGIC_MULTILANG) = y ] ;then \
	./lnk.sh $(skin); \
	fi
	
	#disable the following line for netgear project, the purpose is reducing unused files to save memory.
	#$(Q)cp -rf $(ROOTDIR)/src/apps/html/$(HTML)/* $(FSROOT)/usr/www/html
	$(Q)cp -rf $(ROOTDIR)/src/apps/html/*.html $(FSROOT)/usr/www/
	$(Q)cp -rf $(ROOTDIR)/src/apps/html/*.htm $(FSROOT)/usr/www/
	echo $(skin)
	$(Q)cp -rf $(ROOTDIR)/src/apps/html/skins/$(skin)/* $(FSROOT)/usr/www/html/
	$(Q)cp -rf $(ROOTDIR)/src/apps/html/webAuth.xml $(FSROOT)/usr/www/		

	$(Q)-find $(FSROOT)/usr/www/ -name .svn | xargs rm -rf

	$(Q)gcc -o html ./html.c $(ROOTDIR)/build/apps/ssap/lib/tbserror.c -Wall -g \
	           -I$(ROOTDIR)/build/apps/include ${EXTRA_CFLAGS}
	$(Q)./html
	$(Q)rm -f ./html ./html.o $(ROOTDIR)/build/apps/ssap/lib/tbserror.o
	#$(Q)cp ./updated_English.js -f $(FSROOT)/usr/www/html/languages/default/error.js
	#$(Q)cp ./updated_zh_cn.js -f $(FSROOT)/usr/www/html/languages/zh_cn/error.js
	$(Q)rm -f *.js

	$(Q)echo "****************************************************************"
	$(Q)echo "[Need to delete language directory]: $(lang-)"
	$(Q)echo "[Need to delete HTML pages]: $(page-)"
	$(Q)echo "****************************************************************"
	$(Q)echo "Delete unneeded languages files..."
	#$(Q)cd $(FSROOT)/usr/www/html/languages;rm -rf $(lang-)
	$(Q)echo 'Delete unneeded html pages...'
	$(Q)cd $(FSROOT)/usr/www/html;rm -rf $(page-:.html=.js) $(page-)
	#@for dir in $(lang-y); do  \
	#	cd $(FSROOT)/usr/www/html/languages/$${dir};\
	#	rm -rf $(page-:.html=.js);\
	#done;
	@sh ./copy_safe_index.sh $(FSROOT)/usr/www/html $(shell pwd)/safe_index.html
	$(Q)-find $(FSROOT)/usr/www/ -name .svn | xargs rm -rf

	#for update languages packet online
	if [ $(CONFIG_APPS_LOGIC_MULTILANG) = y ] ;then \
	find $(ROOTDIR)/src/apps/html/skins/$(skin)/languages -type l | xargs rm -rf; \
	fi
#for update languages packet online
	if [ $(CONFIG_APPS_LOGIC_MULTILANG) = y ] ;then \
	echo "CONFIG_APPS_LOGIC_MULTILANG is  defined..."; \
	else \
	chmod 777 ./lnkall.sh; \
	./lnkall.sh $(skin); \
	fi
ifeq ("$(CONFIG_APPS_HTML_WEB_STYLE_GENIE_EXT_R2)", "y")
	$(Q)cd $(FSROOT)/usr/www/html/page;ln -sf ../../../../var/release_notes.htm release_notes.htm; \
			echo > ../../../../var/release_notes.htm
endif