include .config
export KERNELARCH := $(KERNELARCH)
export TOP := $(APPS_PATH)
export TARGET := $(FS_PATH)
export CFLAGS = $(APPS_CFLAG) -D$(PLATFORM) -D$(CHIPSET) -D$(ETHERNET) -D$(VENDOR_NAME) -D$(DEVICE_TYPE)
export CC := $(CROSS_COMPILE)gcc
export CXX := $(CROSS_COMPILE)g++
export AR := $(CROSS_COMPILE)ar
export AS := $(CROSS_COMPILE)as
export LD := $(CROSS_COMPILE)ld
export NM := $(CROSS_COMPILE)nm
export RANLIB := $(CROSS_COMPILE)ranlib
export STRIP := $(CROSS_COMPILE)strip
export SIZE := $(CROSS_COMPILE)size
CFLAGS += -DCONFIG_BIG_ENDIAN
CFLAGS += -DSOHO_RT
CFLAGS += -DCONFIG_LINUX_NVRAM
CFLAGS += -DCONFIG_GPIO
CFLAGS += -DCONFIG_GPIO_MODULE
CFLAGS += -DCONFIG_LED_GPIO
CFLAGS += -DCONFIG_INTERNET_LED
CFLAGS += -DCONFIG_LAN_LED
CFLAGS += -DCONFIG_WIRELESS_LED
CFLAGS += -DCONFIG_RESET_GPIO
CFLAGS += -DCONFIG_WPS_GPIO
CFLAGS += -DCONFIG_DAEMON_MANAGER
CFLAGS += -DCONFIG_DNSMASQ
CFLAGS += -DCONFIG_LAN_MANAGER
CFLAGS +=-DCONFIG_LLD2D
CFLAGS += -DCONFIG_MAIL_CLIENT
CFLAGS += -DCONFIG_MINIUPNPD
CFLAGS += -DCONFIG_NETBIOS_CHECKER
CFLAGS += -DCONFIG_NTP
CFLAGS += -DCONFIG_SYSLOGD
CFLAGS += -DCONFIG_SYSTEM_MANAGER
CFLAGS += -DCONFIG_UDHCPC
CFLAGS += -DCONFIG_UDHCPD
CFLAGS += -DCONFIG_UDHCPD_NETBIOS
CFLAGS += -DCONFIG_UDHCPD_REVOKE
CFLAGS += -DCONFIG_UDHCPD_RESERVED -DMAX_UDHCPD_RESERVED=$(MAX_UDHCPD_RESERVED)
CFLAGS += -DCONFIG_WAN_MANAGER
CFLAGS += -DCONFIG_WLAN_MANAGER
CFLAGS += -DCONFIG_LIGHTTPD
CFLAGS += -DCONFIG_ATHEROS_HEADER_EN
CFLAGS += -DCONFIG_ENCRYPT_CONFIG
CFLAGS += -DCONFIG_HW_REBOOT
CFLAGS +=-DCONFIG_MASS_PRODUCE
CFLAGS += -DCONFIG_MULTI_LANG_SUPPORT
CFLAGS += -DCONFIG_MULTI_LANG_SUPPORT_TRENDNET
CFLAGS += -DCONFIG_SUPPORT_CUSTOM_SSID
CFLAGS += -DCONFIG_SUPPORT_CUSTOM_KEY
CFLAGS += -DCONFIG_MULTI_PORT
CFLAGS += -DCONFIG_WAN_AT_P0
CFLAGS += -DCONFIG_DDNS
CFLAGS += -DCONFIG_DMZ
CFLAGS += -DCONFIG_FIREWALL_APPLICATION_RULE -DMAX_APPLICATION_RULE=$(MAX_APPLICATION_RULE)
CFLAGS += -DCONFIG_FIREWALL_ALG
CFLAGS += -DCONFIG_FIREWALL_MFORWARD
CFLAGS += -DCONFIG_ALG_L2TP
CFLAGS += -DCONFIG_FIREWALL_INBOUND_FILTER -DMAX_INBOUND_FILTER=$(MAX_INBOUND_FILTER)
CFLAGS += -DCONFIG_FIREWALL_MAC_FILTER -DMAX_MAC_FILTER=$(MAX_MAC_FILTER)
CFLAGS += -DCONFIG_FIREWALL_REMOTE_MANAGEMENT
CFLAGS += -DCONFIG_FIREWALL_SCHEDULE -DMAX_FIREWALL_SCHEDULE=$(MAX_FIREWALL_SCHEDULE)
CFLAGS += -DCONFIG_FIREWALL_VIRTUAL_SERVER -DMAX_VIRTUAL_SERVER=$(MAX_VIRTUAL_SERVER)
CFLAGS += -DCONFIG_FIREWALL_WAN_PING_RESPONSE
CFLAGS += -DCONFIG_FIREWALL_WEBSITE_FILTER -DMAX_WEBSITE_FILTER=$(MAX_WEBSITE_FILTER)
CFLAGS += -DCONFIG_FIREWALL_PROTO_FILTER -DMAX_PROTO_FILTER=$(MAX_PROTO_FILTER)
CFLAGS +=-DCONFIG_PPPOE_RELAY
CFLAGS += -DCONFIG_STATIC_ROUTE -DMAX_STATIC_ROUTE=$(MAX_STATIC_ROUTE)
CFLAGS += -DCONFIG_HOSTAPD
CFLAGS += -DCONFIG_WPS
CFLAGS += -DCONFIG_WPS_V2
obj-$(CONFIG_LINUX_NVRAM) += linux_nvram
obj-$(CONFIG_BUSYBOX-1.01) += busybox-1.01
obj-$(CONFIG_DNSMASQ) += dnsmasq-2.41
obj-$(CONFIG_IPTABLES_1.4.5) += iptables-1.4.5
obj-$(CONFIG_IPROUTE2) += iproute2-2.6.31
obj-$(CONFIG_LLD2D) += lld2d
obj-$(CONFIG_MAIL_CLIENT) += mail_client
obj-$(CONFIG_MINIUPNPD) += miniupnpd-1.6.20110730
obj-$(CONFIG_NTP) += ntpclient
obj-y += udhcp
obj-y += tftpd
obj-y += lighttpd-1.4.29
obj-$(CONFIG_ENCRYPT_CONFIG) += ccrypt-1.9
obj-$(CONFIG_DDNS) += inadyn
obj-$(CONFIG_FIREWALL_MFORWARD) += igmpproxy
obj-$(CONFIG_PPPD) += ppp
obj-$(CONFIG_RP_PPPoE) += rp-pppoe
obj-$(CONFIG_PPTP_CLIENT) += accel-pptp-0.8.5
obj-$(CONFIG_L2TP_CLIENT) += openl2tp
obj-clean := $(foreach obj,$(obj-y) $(obj-n),$(obj)-clean)
obj-install := $(foreach obj,$(obj-y),$(obj)-install)
all:
	@echo "=================== Start building Daemons ==================="
	for i in $(obj-y); do \
		(cd $$i; make) || exit 1; \
	done
	@echo "=================== End building Daemons ==================="
	
clean: $(obj-clean);
	@echo "=================== Start Cleaning Daemons ==================="
	for i in $(obj-y); do \
		(cd $$i; make clean) || exit 1; \
	done	
	@echo "=================== End Cleaning Daemons ==================="
	
install: $(obj-install)	
%:
	[ ! -d $* ] || $(MAKE) -C $*
%-clean:
	[ ! -d $* ] || $(MAKE) -C $* clean
%-install:
	[ ! -d $* ] || $(MAKE) -C $* install
$(obj-y) $(obj-n) $(obj-clean) $(obj-install): dummy
.PHONY: all clean install
.PHONY: conf mconf menuconfig
.PHONY: dummy
