diff options
author | Daniel Franke <franke@edf-online.de> | 2018-05-09 08:11:57 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-05-16 15:47:41 (GMT) |
commit | 3d382a494fd8d4aad1a4206559c316138441098d (patch) | |
tree | 8cd66611117329133436fbcc203c394ee368026c /Utilities | |
parent | 5cd9f5c9656660bbe1995ab308f7d322226536a5 (diff) | |
download | CMake-3d382a494fd8d4aad1a4206559c316138441098d.zip CMake-3d382a494fd8d4aad1a4206559c316138441098d.tar.gz CMake-3d382a494fd8d4aad1a4206559c316138441098d.tar.bz2 |
regenerate-lexers.bash: Add option to check timestamps
Diffstat (limited to 'Utilities')
-rwxr-xr-x | Utilities/Scripts/regenerate-lexers.bash | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/Utilities/Scripts/regenerate-lexers.bash b/Utilities/Scripts/regenerate-lexers.bash index 85cfd80..b09f25b 100755 --- a/Utilities/Scripts/regenerate-lexers.bash +++ b/Utilities/Scripts/regenerate-lexers.bash @@ -2,6 +2,11 @@ set -e +forced=1 +if [[ "${1}" = "make" ]]; then + forced=0 +fi + pushd "${BASH_SOURCE%/*}/../../Source/LexerParser" > /dev/null for lexer in \ @@ -14,11 +19,15 @@ do h_file=cm${lexer}Lexer.h in_file=cm${lexer}Lexer.in.l + if [[ (${in_file} -nt ${cxx_file}) || (${in_file} -nt ${h_file}) || (${forced} -gt 0) ]]; then echo "Generating Lexer ${lexer}" - flex --nounistd -DFLEXINT_H --noline --header-file=${h_file} -o${cxx_file} ${in_file} - sed -i 's/\s*$//' ${h_file} ${cxx_file} # remove trailing whitespaces - sed -i '${/^$/d;}' ${h_file} ${cxx_file} # remove blank line at the end - sed -i '1i#include "cmStandardLexer.h"' ${cxx_file} # add cmStandardLexer.h include + flex --nounistd -DFLEXINT_H --noline --header-file=${h_file} -o${cxx_file} ${in_file} + sed -i 's/\s*$//' ${h_file} ${cxx_file} # remove trailing whitespaces + sed -i '${/^$/d;}' ${h_file} ${cxx_file} # remove blank line at the end + sed -i '1i#include "cmStandardLexer.h"' ${cxx_file} # add cmStandardLexer.h include + else + echo "Skipped generating Lexer ${lexer}" + fi done @@ -28,11 +37,15 @@ do c_file=cm${lexer}Lexer.c in_file=cm${lexer}Lexer.in.l - echo "Generating Lexer ${lexer}" - flex --nounistd -DFLEXINT_H --noline -o${c_file} ${in_file} - sed -i 's/\s*$//' ${c_file} # remove trailing whitespaces - sed -i '${/^$/d;}' ${c_file} # remove blank line at the end - sed -i '1i#include "cmStandardLexer.h"' ${c_file} # add cmStandardLexer.h include + if [[ (${in_file} -nt ${c_file}) || (${forced} -gt 0) ]]; then + echo "Generating Lexer ${lexer}" + flex --nounistd -DFLEXINT_H --noline -o${c_file} ${in_file} + sed -i 's/\s*$//' ${c_file} # remove trailing whitespaces + sed -i '${/^$/d;}' ${c_file} # remove blank line at the end + sed -i '1i#include "cmStandardLexer.h"' ${c_file} # add cmStandardLexer.h include + else + echo "Skipped generating Lexer ${lexer}" + fi done |