#!/bin/bash try_assign_sec() { local file="$1" local sec="$2" local val=`_ytools_cat_section "$file" "$sec"` [ -n "$val" ] && eval $3=\"$val\" } usage() { cat <<- EOT | sed 's/^ *|//' | | $myname [options] | | options are | | -h: display this help message and exit sucessfully | -F filename read project description file | -d "description" use description | EOT goodbye $1 } project_descr_file="$1" myname=`basename $0` set -e eval set -- `getopt -- hF:d:n:s:p:v:c:l:V:r:R: "$@"` while [ "$1" != -- ]; do case $1 in -h) usage 0;; -F) project_descr_file="$2" shift ;; -d) description="$2" shift ;; -n) name="$2" shift ;; -s) summary="$2" shift ;; -p) prefix="$2" shift ;; -v) version="$2" shift ;; -c) cflags="$2" shift ;; -l) libflags="$2" shift ;; -r) requires_run="$2" shift ;; -R) requires_build="$2" shift ;; -V) variables="$variables$2\n" shift ;; *) usage 1;; esac shift done shift set +e [ -r "$project_descr_file" ] && { . ytools-functions.sh try_assign_sec $project_descr_file description descr try_assign_sec $project_descr_file summary summary try_assign_sec $project_descr_file requires_run requires_run try_assign_sec $project_descr_file requires_build requires_build } [ "$variables" ] && echo -e "$variables" cat <<-EOT prefix=$prefix exec_prefix=\${prefix} includedir=\${prefix}/include libdir=\${exec_prefix}/lib Name: $name Description: $summary Version: $version EOT [ "$cflags" ] && echo "Cflags: $cflags" [ "$libflags" ] && echo "Libs: $libflags" [ "$requires_run" ] && echo "Requires: $requires_run" [ "$requires_build" ] && echo "Requires.private: $requires_build" # [ "$requires_devel" ] && ?? # not sure what to do with this exit 0