SMASHDIR = $(PRJ_PATH)/SMASH
CCINCLUDE = $(PRJ_PATH)/SFCC/sfcc/local/include/CimClientLib
CCAPIDIR = $(SMASHDIR)/SFCC_API
SMASHDST = $(PRJ_PATH)/SMASH/SMASH
CXX = $(CROSS_COMPILE)gcc
HOST = $(subst -gcc,,$(notdir $(CROSS_COMPILE)gcc))
DBDIR = $(PRJ_PATH)/SMASH/dropbear
DBSRCDIR = $(PRJ_PATH)/SMASH/dropbear-0.52
SHELLDIR = $(SMASHDIR)/shell
TREE_UTIL_SRC_PATH = $(PRJ_PATH)/SMASH/tree-1.5.2.2-src/src/tree/1.5.2.2/tree-1.5.2.2-src

all:
install:
	@echo "*************Build Dropbear Begin******************"
	if [ ! -d $(DBDIR) ];then \
	mkdir $(DBDIR); fi
	if [ ! -d $(DBSRCDIR) ];then \
	tar zxf dropbear-0.52.tar.gz; \
	cd $(DBSRCDIR); \
	./configure --host=$(HOST) --prefix=$(DBDIR) --exec-prefix=/dropbear CPPFLAGS=-I$(PRJ_PATH)/SFCB/zlib-1.2.3/zlib/include LDFLAGS="-L$(PRJ_PATH)/SFCB/zlib-1.2.3/zlib/lib -L$(PRJ_PATH)/lib" --disable-syslog --disable-utmp --disable-utmpx CFLAGS=" -Os "; \
	cp -af ../dropbear_patch/* .; \
	make; \
	make install; fi
	cd $(DBSRCDIR); \
	rm -rf $(DBDIR)/bin/*; \
	$(STRIP) --strip-unneeded $(DBDIR)/sbin/dropbear; \
	cp -af *_host_key $(DBDIR)/bin;
	cp -af $(DBDIR) $(FS_PATH);
	@echo "*************Build Dropbear End******************"
	@echo "*************Build Shell******************"
	cd $(SHELLDIR); \
	make;
	@echo "*************Build Shell End******************"
	if [ ! -d $(SMASHDST) ];then \
        mkdir $(SMASHDST); fi
	if [ ! -d $(SMASHDST)/lib ];then \
        mkdir $(SMASHDST)/lib; fi
	cd $(CCAPIDIR); \
	make;
	cd $(SMASHDIR); \
	$(CXX) -o chport chport.c -Os; \
	$(CXX) -o ShowProperty ShowProperty.c -I$(CCINCLUDE) -lSFCC_API -L$(SMASHDST)/lib -Os; \
	$(CXX) -o deletemethod deletemethod.c -I$(CCINCLUDE) -lSFCC_API -L$(SMASHDST)/lib -Os; \
	$(CXX) -o start start.c -I$(CCINCLUDE) -lSFCC_API -L$(SMASHDST)/lib -Os; \
	$(CXX) -o stop stop.c -I$(CCINCLUDE) -lSFCC_API -L$(SMASHDST)/lib -Os; \
	$(CXX) -o reset reset.c -I$(CCINCLUDE) -lSFCC_API -L$(SMASHDST)/lib -Os; \
	$(CXX) -o buildFS buildFS.c -I$(CCINCLUDE) -lSFCC_API -L$(SMASHDST)/lib -Os;
	@echo "*************Build Tree Utility******************"
	@if [ ! -d ${TREE_UTIL_SRC_PATH} ];then \
	tar -zxvf tree-1.5.2.2.tar.gz; fi
	@cd ${TREE_UTIL_SRC_PATH}; \
	make CC=${CC} prefix=${TREE_UTIL_SRC_PATH}/bin XOBJS=strverscmp.o
	@cp -f ${TREE_UTIL_SRC_PATH}/tree $(SMASHDST)
	@$(STRIP) --strip-unneeded $(SMASHDST)/tree;	
	@echo "*************Copy SMASH to FileSystem******************"
	rm -rf $(SMASHDST)/lib/*.o;
	mv -f $(SMASHDIR)/ShowProperty $(SMASHDST);
	mv -f $(SMASHDIR)/buildFS $(SMASHDST);
	mv -f $(SMASHDIR)/deletemethod $(SMASHDST);
	mv -f $(SMASHDIR)/chport $(SMASHDST);
	mv -f $(SMASHDIR)/start $(SMASHDST);
	mv -f $(SMASHDIR)/stop $(SMASHDST);
	mv -f $(SMASHDIR)/reset $(SMASHDST);
	mv -f $(SMASHDIR)/msh $(SMASHDST);
	$(STRIP) --strip-unneeded $(SMASHDST)/lib/*;
	$(STRIP) --strip-unneeded $(SMASHDST)/ShowProperty;
	$(STRIP) --strip-unneeded $(SMASHDST)/buildFS;
	$(STRIP) --strip-unneeded $(SMASHDST)/deletemethod;
	$(STRIP) --strip-unneeded $(SMASHDST)/chport;
	$(STRIP) --strip-unneeded $(SMASHDST)/start;
	$(STRIP) --strip-unneeded $(SMASHDST)/stop;
	$(STRIP) --strip-unneeded $(SMASHDST)/reset;
	$(STRIP) --strip-unneeded $(SMASHDST)/msh;
	cp -af $(SMASHDIR)/db.sh $(SMASHDST);
	chmod 777 -R $(SMASHDST); \
	mv $(SMASHDST)/lib/* $(FS_PATH)/lib;
	cp -af $(SMASHDST) $(FS_PATH);
	
clean:
	@echo "*************Clean SMASH******************"
	rm -rf $(SMASHDST);
	@echo "*************Clean Dropbear******************"
	rm -rf $(DBSRCDIR); 
	rm -rf $(DBDIR);
	cd $(CCAPIDIR); \
	make clean;
	cd $(SHELLDIR); \
	make clean;
	rm -rf $(PRJ_PATH)/SMASH/tree-1.5.2.2-src
	
	$(Q)cat $(PRJ_PATH)/SMASH/Makefile| sed \
	
