#!/bin/bash CWD=`pwd` program=`basename $0` usage() { cat << EOF_USAGE Usage: $program [options] Options: -h,--help Display this message. -d,--target-dest-dir=DIR The target ROOTFS directory [default: DIR=/]. The script regenerates files that do not need to be stored in Git: aclocal.m4 and m4 macros using aclocal; config.h.in using autoheader; Makefile.in and helper files using automake; configure using autoconf. EOF_USAGE } TARGET_DEST_DIR=/ ACDIR=usr/share/aclocal INCDIR=usr/include SYSTEM_ACDIR= SYSTEM_INCDIR= while [ 0 ] ; do if [ "$1" = "-h" -o "$1" = "--help" ] ; then usage exit 0 elif [ "$1" = "-d" -o "$1" = "--target-dest-dir" ] ; then if [ "$2" = "" ] ; then echo -e "\n${program}: ERROR: --target-dest-dir is not specified.\n" usage exit 1 fi TARGET_DEST_DIR="$2" shift 2 elif [[ $1 == --target-dest-dir=* ]] ; then TARGET_DEST_DIR="`echo $1 | cut -f2 -d'='`" shift 1 else if [ "$1" != "" ] ; then echo -e "\n${program}: ERROR: Unknown argument: $1.\n" usage exit 1 fi break fi done if [ ! -d "${TARGET_DEST_DIR}" ] ; then echo -e "\n${program}: ERROR: --target-dest-dir is not a directory.\n" usage exit 1 fi # Absolute path: if [ "${TARGET_DEST_DIR:0:1}" != "/" ] ; then TARGET_DEST_DIR=${CWD}/${TARGET_DEST_DIR} fi # Remove last '/' char except for the root itself: if [ "${TARGET_DEST_DIR}" != "/" -a "${TARGET_DEST_DIR: -1}" = "/" ] ; then len=${#TARGET_DEST_DIR} let "len = len - 1" tmp="${TARGET_DEST_DIR:0:$len}" TARGET_DEST_DIR=${tmp} fi if [ "${TARGET_DEST_DIR}" = "/" ] ; then SYSTEM_ACDIR=/${ACDIR} SYSTEM_INCDIR=/${INCDIR} else SYSTEM_ACDIR="${TARGET_DEST_DIR}/${ACDIR}" SYSTEM_INCDIR="${TARGET_DEST_DIR}/${INCDIR}" fi aclocal --install -I m4 --force --system-acdir=${SYSTEM_ACDIR} || exit 1 autoheader --include=${SYSTEM_INCDIR} || exit 1 automake --gnu --add-missing --copy --force-missing || exit 1 autoconf --force || exit 1 rm -rf autom4te.cache