libp7/tools/write-config

83 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
#******************************************************************************#
# Defaults #
#******************************************************************************#
# Project variables
name="libg1m"
version="<unknown version>"
# Maintainer
maintainer="Some unknown guy <anon@localhost>"
# Directories
libdir=''
incdir=''
#******************************************************************************#
# Read arguments #
#******************************************************************************#
for arg ; do case "$arg" in
--name=*) name="${arg#*=}" ;;
--version=*) version="${arg#*=}" ;;
--maintainer=*) maintainer="${arg#*=}" ;;
--libdir=*) libdir="${arg#*=}" ;;
--incdir=*) incdir="${arg#*=}" ;;
esac; done
#******************************************************************************#
# Write result #
#******************************************************************************#
cat <<_EOF
#!/bin/sh
cfgtool=\$(basename \$0)
#******************************************************************************#
# Help message #
#******************************************************************************#
usage() {
cat <<EOF
Usage: \$cfgtool [--help] [--version] [--cflags] [--libs]
Report bugs to ${maintainer}.
EOF
exit 0
}
#******************************************************************************#
# Version message #
#******************************************************************************#
version() {
echo ${version}
exit 0
}
#******************************************************************************#
# Check for help and version #
#******************************************************************************#
put_version=
put_help=
for arg ; do case "\$arg" in
--help|-h) put_help=1 ;;
--version|-v) put_version=1 ;;
esac; done
[ \$put_version ] && version
[ \$put_help ] && usage
#******************************************************************************#
# Parse arguments #
#******************************************************************************#
# Defaults
put_cflags=
put_libs=
for arg ; do case "\$arg" in
--cflags) put_cflags=y ;;
--libs) put_libs=y ;;
*) echo "\$arg: did not read" >&2 ;;
esac; done
# Put
[ \$put_cflags ] && echo "-I$incdir"
[ \$put_libs ] && echo "-L$libdir -l$name"
[ \$put_cflags\$put_libs ] || usage
# End of file
_EOF