#!/bin/sh
# Need to be in the root (trunk)

WORKING_DIRECTORY=`pwd`;
OSLIST='nto'
EXCLUDE_OSLIST='qnx4'

cd $WORKING_DIRECTORY/lib

for dir in `ls` 
do

	if ! [ -d $dir ]
	then
		continue
	fi
	
    cd $dir
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd into $dir"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

	make clean
	make hinstall
	if [ "$?" -ne 0 ]
	then
		echo "make hinstall in lib/$dir failed"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
	fi

cd $WORKING_DIRECTORY/lib
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd back to lib/"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

done

cd $WORKING_DIRECTORY/services
for dir in `ls`
do

	if ! [ -d $dir]
	then
		continue
	fi

    cd $dir
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd into services/$dir"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

	make clean
	make hinstall
	if [ "$?" -ne 0 ]
	then
		echo "make hinstall in services/$dir failed"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
	fi

cd $WORKING_DIRECTORY/services
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd back to services/"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

done

cd $WORKING_DIRECTORY/utils
for dir in c/chkdosfs c/chkfsys d/dcheck d/deflate d/df d/dinit d/dloader d/du d/dumpefs e/etfsctl f/fdformat f/fdisk f/flashcmp f/flashctl m/mkdosfs m/mkfifo m/mkimage m/mount s/showmount s/sync u/umount z/zap
do

	if ! [ -d $dir ]
	then
		continue
	fi

    cd $dir
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd into utils/$dir"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

	make clean
	make hinstall
	if [ "$?" -ne 0 ]
	then
		echo "make hinstall in utils/$dir failed"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
	fi

cd $WORKING_DIRECTORY/utils
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd back to utils/"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

done

cd $WORKING_DIRECTORY/lib

# lib/fs-flash is deliberately not built.  This is an obsolete component.
# The sharp-eyed will have noticed that it was listed in the hinstall portion.
# Its public headers are required to build the flashcmp utility.
# lib/dma will be built a little later
for dir in compat etfs flash-nand fs-flash3 login qnx43 util
do

	if ! [ -d $dir ]
	then
		continue
	fi
	
    cd $dir
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd into lib/$dir"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

	make install
	if [ "$?" -ne 0 ]
	then
		echo "make install in lib/$dir failed"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
	fi

cd $WORKING_DIRECTORY/lib
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd back to lib/"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

done

cd $WORKING_DIRECTORY/services
for dir in blk cifs inflator nfs2 nfs3 nfsd pcnfsd pkgmgr
do

	if ! [ -d $dir ]
	then
		continue
	fi

    cd $dir
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd into services/$dir"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

	make install
	if [ "$?" -ne 0 ]
	then
		echo "make install in services/$dir failed"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
	fi

cd $WORKING_DIRECTORY/services
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd back to services/"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

done

cd $WORKING_DIRECTORY/utils
for dir in c/chkdosfs c/chkfsys d/dcheck d/deflate d/df d/dinit d/dloader d/du d/dumpefs e/etfsctl f/fdformat f/fdisk f/flashcmp f/flashctl m/mkdosfs m/mkfifo m/mkimage m/mount s/showmount s/sync u/umount z/zap
do

	if ! [ -d $dir ]
	then
		continue
	fi

    cd $dir
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd into utils/$dir"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

	make install
	if [ "$?" -ne 0 ]
	then
		echo "make install in utils/$dir failed"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
	fi

cd $WORKING_DIRECTORY/utils
	if [ "$?" -ne 0 ]
    then
        echo "Failed to cd back to utils/"
		echo "Script aborting"
		echo "directory = $WORKING_DIR"
		exit 1
    fi

done

cd $WORKING_DIRECTORY/

echo "Done"

