flexは、字句解析を行うコードを生成するためのツールです。 字句解析とは、テキストを解析して字句(トークン)に分割する処理です。
例えばコンパイラは、ソースファイルを解析する時に、字句解析および構文解析を行います。 その字句解析の部分に、flexによって生成されたコードが利用されます。
最初に、ビルド・インストール前リストを生成します。
/sources/genprevlist.sh > /dev/null 2>&1
ソースファイルを展開します。
cd /sources tar xvf flex-2.5.39.tar.xz cd flex-2.5.39
展開したソースファイルを修正します。
sed -i -e '/test-bison/d' tests/Makefile.in
configureを実行します。
./configure \ --prefix=/usr \ --docdir=/usr/share/doc/flex-2.5.39 > ../../logs/configurelog.flex 2>&1
configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../../logs/configurelog.flex
テストを行います。
make check 2>&1 | tee ../../logs/checklog.flex
テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
grep '^Tests ' ../../logs/checklog.flex
以下の結果であれば問題ありません。
Tests succeeded: 44 Tests FAILED: 0
インストール後の追加作業を行います。 flex に lex という名称のシンボリックリンクを与えます。
ln -vsf flex /usr/bin/lex
今後の作業でビルドするソフトウェアの中には、このツールを lex というファイル名で呼び出すものもあるかもしれません。 そこで、flex に lex という名称のシンボリックリンクを与えています。
ソースファイルに付属している文書のインストールを行います。
mkdir -vp /usr/share/doc/flex-2.5.39 cp -va ABOUT-NLS /usr/share/doc/flex-2.5.39 cp -va AUTHORS /usr/share/doc/flex-2.5.39 cp -va COPYING /usr/share/doc/flex-2.5.39 cp -va ChangeLog /usr/share/doc/flex-2.5.39 cp -va INSTALL /usr/share/doc/flex-2.5.39 cp -va NEWS /usr/share/doc/flex-2.5.39 cp -va ONEWS /usr/share/doc/flex-2.5.39 cp -va README /usr/share/doc/flex-2.5.39 cp -va THANKS /usr/share/doc/flex-2.5.39 cp -va TODO /usr/share/doc/flex-2.5.39 cp -va doc/flex.pdf /usr/share/doc/flex-2.5.39
最後に、インストールリストを生成します。
/sources/genpostlist.sh > /dev/null 2>&1 /sources/gendifflist.sh flex