From 273dad01d4942434aa0bb422b4c4639d7c74fcaa Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@Germany> Date: Fri, 9 May 2008 12:20:25 +0200 Subject: [PATCH] be more stringent with which files are considered 'source' --- wmake/wmakeLnInclude | 107 ++++++++++++++++++++++++++++++------------- 1 file changed, 76 insertions(+), 31 deletions(-) diff --git a/wmake/wmakeLnInclude b/wmake/wmakeLnInclude index 568cbc0f366..e3506646740 100755 --- a/wmake/wmakeLnInclude +++ b/wmake/wmakeLnInclude @@ -29,59 +29,104 @@ # Description # Link all the source files in the $1 directory into $1/lnInclude # -# Usage: wmakeLnInclude <directory> <ln options> +# Usage: wmakeLnInclude [-f] <dir> [-lnOption] # +# The desired source files: +# *.C *.H *.h *.cxx +# Avoid +# *.c (C source) +# .#* (cvs recovered files) #------------------------------------------------------------------------------ +Script=${0##*/} -BASEDIR="" -LNOPTION="-s" +usage() { + while [ "$#" -ge 1 ]; do echo "$1"; shift; done + cat<<USAGE -if [ $# = 1 ] -then - BASEDIR=$1 +usage: $Script [-f] <dir> [-lnOption] -elif [ $# = 2 ] -then - BASEDIR=$1 - LNOPTION=$2 + Link all the source files in the <dir> into <dir>/lnInclude + * Use '-f' to force an update when the lnInclude directory already exists. -else - echo $0: wrong number of arguments - echo "usage : wmakeLnInclude <dir> [-lnOption]" - exit 1 -fi +USAGE + exit 1 +} + +#------------------------------------------------------------------------------ + +# simple option parsing +unset forceUpdate +unset findOpt + +# simple parse options +while [ "$#" -gt 0 ] +do + case "$1" in + -h | -help) # provide immediate help + usage + ;; + -f) + shift + forceUpdate=1 + ;; + -*) + usage "unknown option/argument: '$*'" + ;; + *) + break + ;; + esac +done -if [ ! -d $BASEDIR ] +baseDir=$1 +incDir=$baseDir/lnInclude + +if [ $# -eq 1 ] +then + lnOpt="-s" +elif [ $# -eq 2 ] then - echo Base directory $BASEDIR does not exist, exiting. - exit 0 + lnOpt="$2" +else + usage "ERROR: wrong number of arguments" fi -INCDIR=$BASEDIR/lnInclude -if [ -d $INCDIR ] +if [ ! -d $baseDir ] then - #echo $0: include directory $INCDIR already exists, exiting. - exit 0 + echo $Script: Base directory $baseDir does not exist, exiting. + exit 2 fi -mkdir $INCDIR +if [ -d $incDir ] +then + if [ ! "$forceUpdate" ] + then + # echo $Script: include directory $incDir already exists, exiting. + exit 0 + fi +else + mkdir $incDir +fi -if [ ! -d $INCDIR ] +if [ ! -d $incDir ] then - echo $0: failed to create include directory $INCDIR - exit 0 + echo $Script: failed to create include directory $incDir + exit 0 fi # Link include files # ~~~~~~~~~~~~~~~~~~ - -echo $0: linking include files to $INCDIR +echo $Script: linking include files to $incDir echo -cd $INCDIR -find .. -name lnInclude -prune -o -name '.svn' -prune -o -name Make -prune \ - -o \( -name '*.[hcHCx]*' -o -name '*.type' \) -exec ln $LNOPTION {} . \; +cd $incDir + +find .. $findOpt \ + \( -name lnInclude -o -name -Make -o -name .svn -o -name config \) -prune \ + -o \( -name '*.[CHh]' -o -name '*.[ch]xx' -o -name '*.type' \) \ + -a ! -name ".#*" \ + -exec ln $lnOpt {} . \; #------------------------------------------------------------------------------ -- GitLab