ENH: reduce wmake bootstrap dependencies

- remove make target for wmdep (flex-based scanner), which eliminates
  a bootstrap dependency on flex.

  As of OpenFOAM-v1806, wmdep has been superseded by wmdepend
  (ragel-based scanner).

- replace dirToString binary with shell/awk equivalent for simpler
  maintenance. The utility is very rarely used (auto scanning to
  create Make/files) so there is no performance difference.
This commit is contained in:
Mark Olesen
2019-06-07 09:51:18 +02:00
committed by Andrew Heather
parent 2e544489bf
commit 137130e437
4 changed files with 95 additions and 126 deletions

90
wmake/scripts/dirToString Executable file
View File

@ -0,0 +1,90 @@
#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
# \\/ M anipulation |
#-------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# <http://www.gnu.org/licenses/>.
#
# Script
# dirToString
#
# Usage
# dirToString path/to/file
#
# Description
# Converts a directory path into a camelCase string.
# Leading [./] characters are stripped by default.
#
# For example,
# input: dir1/dir2/dir3
# output: dir1Dir2Dir3
#
#------------------------------------------------------------------------------
usage() {
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
cat<<USAGE
Usage: ${0##*/} [OPTION] dir
options:
-no-strip Do not ignore leading [./] characters
-strip Ignore leading [./] characters (default)
-h, -help Print the usage
Converts a directory path into a camelCase string
USAGE
exit 1
}
#------------------------------------------------------------------------------
# Parse arguments and options
#------------------------------------------------------------------------------
optStrip=true
while [ "$#" -gt 0 ]
do
case "$1" in
# Print help
(-h | -help*)
usage
;;
(-s | -strip)
optStrip=true
;;
(-no-strip)
unset optStrip
;;
(--)
shift
break
;;
(*)
break
;;
esac
shift
done
if [ -z "$optStrip" ]
then
dirName="$1"
else
# Ignore any leading ./ characters
dirName="$(echo ""$1"" | sed -e 's@^[./]*@@')"
fi
dirName=$(echo "$dirName" | \
awk 'BEGIN{FS="";RS="/";ORS=""} {if (FNR>1) {$0=toupper(substr($0,1,1))substr($0,2)}} 1')
echo "$dirName"
#------------------------------------------------------------------------------