#!/bin/sh
# $URL: http://subversion:8080/svn/gsc/trunk/drivers/LINUX/DIO24/DIO24_Linux_8.x.x.x_GSC_DN/make_all $
# $Rev: 52087 $
# $Date: 2022-11-23 10:55:00 -0600 (Wed, 23 Nov 2022) $

# DIO24: Overall make script



#==============================================================================
_process_sources() {
	# 1 = name of "sources" script to process
	# 2 = build target

	SRC=${1}
	DST=_sources

	if [ -e ${SRC} ]
	then
		# The above named file is present at GSC for development purposes only
		# and is not distributed in driver archives.

		D2U=`which dos2unix 2>/dev/null | wc -l`

		if [ "${D2U}" != "1" ]
		then

			D2U=~/c/gsc/gsc_common/utils/linux/d2u

		else

			D2U=dos2unix

		fi

		rm -f ${DST}

		chmod +w ${SRC}
		${D2U} ${SRC}	 2>/dev/null  1>/dev/null
		chmod +x ${SRC}
		${SRC}

		make -f ${DST} ${2}

		rm -f ${DST}

	fi
}



#==============================================================================
_process() {
	# 1 = directory name
	# 2 = build target

	if [ -d ./${1} ]
	then

		echo -e "======================================================================\r${1} "

		CWD=`pwd`

		cd ./${1}

		_process_sources ./sources ${2}

		if [ -e ./makefile ]
		then

			make -f ./makefile ${2}

		elif [ -e ./Makefile ]
		then

			make -f ./Makefile ${2}

		fi

		cd ${CWD}

	fi
}



#==============================================================================

_process driver						${1}

if [ ! "${1}" != "" ]
then
./driver/start
fi

_process include					${1}
_process api						${1}
_process docsrc						${1}
_process utils						${1}
_process lib						${1}

_process samples/b2btest			${1}
_process samples/din				${1}
_process samples/dout				${1}
_process samples/id					${1}
_process samples/irq				${1}
_process samples/lbtest				${1}
_process samples/regs				${1}

if [ -d samples/metrics ]
then
echo -n
_process samples/metrics			${1}
fi

if [ -d sdk ]
then
echo -n
_process sdk/include				${1}
_process sdk/api					${1}
_process sdk/docsrc					${1}
_process sdk/utils					${1}
_process sdk/lib					${1}

_process sdk/api/test				${1}
_process sdk/dout					${1}
_process sdk/lbtest					${1}
fi
