flexのビルド
flexは、字句解析を行うコードを生成するためのツールです。 字句解析とは、テキストを解析して字句(トークン)に分割する処理です。
例えばコンパイラは、ソースファイルを解析する時に、字句解析および構文解析を行います。 その字句解析の部分に、flexによって生成されたコードが利用されます。
ビルド・インストール前リストの生成
最初に、ビルド・インストール前リストを生成します。
/sources/genprevlist.sh > /dev/null 2>&1
/sources/genprevlist.sh > /dev/null 2>&1

ソースファイルの展開
ソースファイルを展開します。
cd /sourcestar xvf flex-2.5.39.tar.xz cd flex-2.5.39
cd /sources
tar xvf flex-2.5.39.tar.xz
cd flex-2.5.39



ソースファイルの修正
展開したソースファイルを修正します。
sed -i -e '/test-bison/d' tests/Makefile.in
sed -i -e '/test-bison/d' tests/Makefile.in

configure
configureを実行します。
./configure \--prefix=/usr \ --docdir=/usr/share/doc/flex-2.5.39 > ../../logs/configurelog.flex 2>&1
./configure \
--prefix=/usr \
--docdir=/usr/share/doc/flex-2.5.39 > ../../logs/configurelog.flex 2>&1



configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../../logs/configurelog.flex
cat ../../logs/configurelog.flex

テスト
テストを行います。
make check 2>&1 | tee ../../logs/checklog.flex
make check 2>&1 | tee ../../logs/checklog.flex

テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
grep '^Tests ' ../../logs/checklog.flex
grep '^Tests ' ../../logs/checklog.flex

以下の結果であれば問題ありません。
Tests succeeded: 44 Tests FAILED: 0
インストール後の追加作業
インストール後の追加作業を行います。 flex に lex という名称のシンボリックリンクを与えます。
ln -vsf flex /usr/bin/lex
ln -vsf flex /usr/bin/lex

今後の作業でビルドするソフトウェアの中には、このツールを lex というファイル名で呼び出すものもあるかもしれません。 そこで、flex に lex という名称のシンボリックリンクを与えています。
ソースファイル付属文書のインストール
ソースファイルに付属している文書のインストールを行います。
mkdir -vp /usr/share/doc/flex-2.5.39cp -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
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
/sources/genpostlist.sh > /dev/null 2>&1
/sources/gendifflist.sh flex







