#==============================================================================
#                   Top level Makefile for 8128 OPENSDK
# Create Date : 2013-11-20
# Release Note: 2013-11-20
#============================================================================== 
rebuild:all
CONFIG_TOOLCHAIN_PATH=/opt/crosstool/arm-none-linux-gnueabi-4.4.0_ARMv5TE/bin
export CONFIG_TOOLCHAIN_PATH
CONFIG_KERNEL_PATH=linux-2.6.28-fa


### include config file

CFGPATH=$(PWD)/config
export CFGPATH
#include version


include $(CFGPATH)/firmware_header_define.mk
include $(CFGPATH)/toolchain.mk
include $(CFGPATH)/CONFG_CFLAGS.mk


### export Global Variable

PROJ_ROOT       := $(PWD)
TOOLCHAIN_ROOT  := $(strip $(subst ",, $(strip $(CONFIG_TOOLCHAIN_PATH))))
KERNEL_ROOT     := $(PROJ_ROOT)/$(strip $(subst ",, $(strip $(CONFIG_KERNEL_PATH))))

# We use the initramfs as the actual rootfs on ramdisk..
RAMDISK_ROOT    := $(PROJ_ROOT)/target/rootfs-cpio
PATH            += :$(TOOLCHAIN_ROOT)
IMAGE_DIR       := $(PROJ_ROOT)/image
PLATFORM        := CONFIG_PLATFORM_GM8126
TOOLPATH        := $(PWD)/tools
OPENSOURCE_DIR  := $(PWD)
BOOTLOADER_ROOT := $(PWD)/u-boot-2008.10
export PROJ_ROOT TOOLCHAIN_ROOT KERNEL_ROOT \
       RAMDISK_ROOT IMAGE_DIR \
       PLATFORM TOOLPATH OPENSOURCE_DIR


###############################################################################


### make all
all:busybox comgt iptables samba  matrix-ssl matrix-tunnel  udhcpc email dosfstools mjpg-streamer termcap tzoupdate ddns ntpclient ppp-2.4.1 rp-pppoe-3.10 live mtd-utils    
	@echo "To buile all!!"
clean:
	$(MAKE) -C ./udhcpc clean	
	$(MAKE) -C ./busybox-1.13.4 clean	
	$(MAKE) -C ./comgt.0.32 clean
	$(MAKE) -C ./iptables-1.4.3.2 clean
	$(MAKE) -C ./samba-3.0.23d/source clean
	$(MAKE) -C ./matrixtunnel clean
	$(MAKE) -C ./matrixssl clean
	$(MAKE) -C ./openssl-0.9.8j clean
	$(MAKE) -C ./dosfstools-2.11 clean	
	$(MAKE) -C ./mjpg-streamer clean
	$(MAKE) -C ./termcap clean
	$(MAKE) -C ./tzoupdate-1.12 clean
	$(MAKE) -C ./ddns clean
	$(MAKE) -C ./ntpclient clean
	$(MAKE) -C ./ppp-2.4.1 clean
	$(MAKE) -C ./rp-pppoe-3.10/src clean
	$(MAKE) -C ./live clean
	$(MAKE) -C ./mtd-utils clean
		
###  To Make kernel


kernel:
	cd $(KERNEL_ROOT); make zImage
kernel-clean:
	 $(MAKE) -C $(KERNEL_ROOT) clean	
bootloader:
	@echo "Building bootloader..."
	$(MAKE) -C $(BOOTLOADER_ROOT) distclean
	$(MAKE) -C $(BOOTLOADER_ROOT) gm8126_config
	$(MAKE) -C $(BOOTLOADER_ROOT) dep
	$(MAKE) -C $(BOOTLOADER_ROOT) all


busybox:
	 $(MAKE) -C ./busybox-1.13.4 CONFIG_PREFIX=$(RAMDISK_ROOT) install
comgt:
	$(MAKE) -C ./comgt.0.32
iptables:
	$(MAKE) -C ./iptables-1.4.3.2
samba:
	$(MAKE) -C ./samba-3.0.23d/source
matrix-tunnel:
	$(MAKE) -C ./matrixtunnel

matrix-ssl:
	$(MAKE) -C ./matrixssl
udhcpc:
	$(MAKE) -C ./udhcpc
openssl:
	$(MAKE) -C ./openssl-0.9.8j
email:openssl
	$(MAKE) -C ./email-3.1.2/dlib
	$(MAKE) -C ./email-3.1.2/src
dosfstools:
	$(MAKE) -C ./dosfstools-2.11

mjpg-streamer:
	$(MAKE) -C ./mjpg-streamer
termcap:
	$(MAKE) -C ./termcap
tzoupdate:
	$(MAKE) -C ./tzoupdate-1.12

ddns:
	$(MAKE) -C ./ddns

ntpclient:
	$(MAKE) -C ./ntpclient

ppp-2.4.1:
	$(MAKE) -C ./ppp-2.4.1

rp-pppoe-3.10:
	$(MAKE) -C ./rp-pppoe-3.10/src
live:
	$(MAKE) -C ./live
mtd-utils:
	$(MAKE) -C ./mtd-utils


.PHONY: udhcpc email dosfstools openssl matrix-ssl matrix-tunnel samba iptables comgt busybox mjpg-streamer termcap ddns ntpclient ppp-2.4.1 rp-pppoe-3.10 live mtd-utils
