#!/bin/sh

usage()
{
	echo "Usage: $0 [option ...]"
	echo "Possible options are:"
	echo "  --help"
	echo "  --prefix=DIRECTORY"
	echo "  --cc"
	echo "  --c++"
	echo "  --perl5"
	echo "  --make-archive"
	echo "  --srcgen"
	echo "  --update-makefile"
	echo "  --cflags"
	echo "  --libs"
}

prefix=
cc_flag=false
cxx_flag=false
perl5_flag=false
make_archive_flag=false
srcgen_flag=false
update_makefile_flag=false
cflags_flag=false
libs_flag=false

while [ $# -gt 0 ]
do
	case "$1" in

	--prefix=*)
		prefix=`echo $1 | sed 's/^--prefix=//'`
		;;

	--cc)
		cc_flag=true
		;;

	--c++)
		cxx_flag=true
		;;

	--perl5)
		perl5_flag=true
		;;

	--make-archive)
		make_archive_flag=true
		;;

	--srcgen)
		srcgen_flag=true
		;;

	--update-makefile)
		update_makefile_flag=true
		;;

	--cflags)
		cflags_flag=true
		;;

	--libs)
		libs_flag=true
		;;

	--help)
		usage
		exit 0
		;;

	*)
		usage
		exit 1
		;;
	esac

	shift 1
done

if [ -z "${prefix}" ]; then
	echo "$0: prefix must be specified." 1>&2
	exit 1
fi


generic_lib_config="${prefix}/generic_library/bin/library-config \
		    --prefix=${prefix}/generic_library"

soc_lib_dir="${prefix}/soccer_dependent"

if [ ${cc_flag} = true ]; then
	${generic_lib_config} --cc
fi

if [ ${cxx_flag} = true ]; then
	${generic_lib_config} --c++
fi

if [ ${perl5_flag} = true ]; then
	${generic_lib_config} --perl5
fi

if [ ${make_archive_flag} = true ]; then
	${generic_lib_config} --make-archive
fi

if [ ${srcgen_flag} = true ]; then
	echo `${generic_lib_config} --perl5` \
		" ${soc_lib_dir}/action_lib/bin/Srcgen"
fi

if [ ${update_makefile_flag} = true ]; then
	echo `${generic_lib_config} --perl5` \
		"${soc_lib_dir}/action_lib/bin/Update_Makefile"
fi

if [ ${cflags_flag} = true ]; then
	${generic_lib_config} --cflags

	cat << End_Of_Include_Flags | sed 's/^		//'
		-I${soc_lib_dir}/agent_environment \
		-I${soc_lib_dir}/soccer_basic_lib \
		-I${soc_lib_dir}/sserver_connection \
		-I${soc_lib_dir}/soccer_interface \
		-I${soc_lib_dir}/action_lib \
		-I${soc_lib_dir}/basic_action/compile \
		-I${prefix}/evolutional_variable
End_Of_Include_Flags
fi

if [ ${libs_flag} = true ]; then
	cat << End_Of_Library_Flags | sed 's/^		//'
		${soc_lib_dir}/agent_environment/libagent_environment.a \
		${soc_lib_dir}/basic_action/libbasic_action.a \
		${soc_lib_dir}/action_lib/libaction.a \
		${soc_lib_dir}/soccer_interface/libsoccer_interface.a \
		${soc_lib_dir}/sserver_connection/libsserver_connection.a \
		${soc_lib_dir}/soccer_basic_lib/libsoccer_basic.a \
		`${soc_lib_dir}/sserver_connection/link-config` \
		${prefix}/evolutional_variable/libevolutional_variable.a
End_Of_Library_Flags

	${generic_lib_config} --libs
fi
