#!/bin/sh

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

prefix=
cc_flag=false
cxx_flag=false
make_ar_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
		;;

	--make-ar)
		make_ar_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_dir="${prefix}/generic_library"
bin_dir="${generic_lib_dir}/bin"
soc_lib_dir="${prefix}/soccer_library"

if [ ${cc_flag} = true ]; then
	echo "${bin_dir}/gccw"
fi

if [ ${cxx_flag} = true ]; then
	echo "${bin_dir}/g++w"
fi

if [ ${make_ar_flag} = true ]; then
	echo "${bin_dir}/make_ar"
fi

if [ ${srcgen_flag} = true ]; then
	echo "${bin_dir}/Perl5 ${soc_lib_dir}/action_lib/bin/Srcgen"
fi

if [ ${update_makefile_flag} = true ]; then
	echo "${bin_dir}/Perl5 ${soc_lib_dir}/action_lib/bin/Update_Makefile"
fi

if [ ${cflags_flag} = true ]; then
	cat << EOF | sed 's/^		//'
		-I${generic_lib_dir}/include \
		-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
EOF
fi

if [ ${libs_flag} = true ]; then
	cat << EOF | 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 \
		${generic_lib_dir}/src/udp_connection/libudp_connection.a \
		${generic_lib_dir}/src/lisp_lex/liblisp_lex.a \
		${generic_lib_dir}/src/d2_region/libd2_region.a \
		${generic_lib_dir}/src/d2_vector/libd2_vector.a \
		${generic_lib_dir}/src/time_stamp/libtime_stamp.a \
		${generic_lib_dir}/src/option_analyser/liboption_analyser.a \
		${generic_lib_dir}/src/debugstream/libdebugstream.a \
		`${soc_lib_dir}/sserver_connection/link-config`
EOF
fi
