diff options
Diffstat (limited to 'src/mkskel.sh')
-rwxr-xr-x | src/mkskel.sh | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/mkskel.sh b/src/mkskel.sh index 2d6ae9f..8343722 100755 --- a/src/mkskel.sh +++ b/src/mkskel.sh @@ -21,26 +21,24 @@ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -if test ! $# = 3; then - echo 'Usage: mkskel.sh srcdir m4 version' >&2 +if test ! $# = 4; then + echo 'Usage: mkskel.sh lang srcdir m4 version' >&2 exit 1 fi -echo '/* File created from flex.skl via mkskel.sh */ - -#include "flexdef.h" - -const char *skel[] = {' -srcdir=$1 -m4=$2 -VERSION=$3 +lang=$1 +srcdir=$2 +m4=$3 +VERSION=$4 case $VERSION in *[!0-9.]*) echo 'Invalid version number' >&2; exit 1;; esac IFS=. -set $VERSION +# we do want word splitting, so we won't put double quotes around it (see IFS above) +# shellcheck disable=2086 +set -- $VERSION sed 's/4_/a4_/g s/m4preproc_/m4_/g -' "$srcdir/flex.skl" | +' "$srcdir/${lang}-flex.skl" | "$m4" -P -I "$srcdir" "-DFLEX_MAJOR_VERSION=$1" \ "-DFLEX_MINOR_VERSION=$2" \ "-DFLEX_SUBMINOR_VERSION=$3" | @@ -49,6 +47,3 @@ s/m4_/m4preproc_/g s/a4_/4_/g s/[\\"]/\\&/g s/[^\r]*/ "&",/' - -echo ' 0 -};' |