amalgamationの様子をみる~その4 [SQLite]
前回で、「target_source」のルールについてざ~っとみたので、次は、やっと大元の「sqlite3.c」のルールまで戻ります。
まずは「./tool/mksqlite3c.tcl」を見て行きます。冒頭のコメントから・・・。
*
「target_source」の生成等、これまで実行されていた内容が書かれていますが、「parse.c」「parse.h」が「parse.y」からlemonと言う構文解析器生成プログラムで作成して「./tsrc」に追加されると書かれています。そんな箇所あったっけ?と思ったところ、その1の記事に該当の箇所がありました。
「keywordhash.h」は「mkkeywordhash」と言うコマンドで作成されるとのこと。「./tool」ディレクトリを見たところ、「mkkeywordhash.c」と言うCソースで提供されています。こちらもその1の記事で「keywordhash.h」の生成ルールの中でコンパイルされて、即利用されていますね。
まあ、そんな感じで「tsrc」ディレクトリが作成されて、ソースがそろったらこのスクリプトを実行せよとのこと。そしたら、「sqlite3.c」を作成するよと言うことです・・。
つづく。
【参考】
・Lemon構文解析器生成プログラム
sqlite3.c: target_source $(TOP)/tool/mksqlite3c.tcl tclsh $(TOP)/tool/mksqlite3c.tcl echo '#ifndef USE_SYSTEM_SQLITE' >tclsqlite3.c cat sqlite3.c >>tclsqlite3.c echo '#endif /* USE_SYSTEM_SQLITE */' >>tclsqlite3.c cat $(TOP)/src/tclsqlite.c >>tclsqlite3.c |
まずは「./tool/mksqlite3c.tcl」を見て行きます。冒頭のコメントから・・・。
*
「target_source」の生成等、これまで実行されていた内容が書かれていますが、「parse.c」「parse.h」が「parse.y」からlemonと言う構文解析器生成プログラムで作成して「./tsrc」に追加されると書かれています。そんな箇所あったっけ?と思ったところ、その1の記事に該当の箇所がありました。
「keywordhash.h」は「mkkeywordhash」と言うコマンドで作成されるとのこと。「./tool」ディレクトリを見たところ、「mkkeywordhash.c」と言うCソースで提供されています。こちらもその1の記事で「keywordhash.h」の生成ルールの中でコンパイルされて、即利用されていますね。
まあ、そんな感じで「tsrc」ディレクトリが作成されて、ソースがそろったらこのスクリプトを実行せよとのこと。そしたら、「sqlite3.c」を作成するよと言うことです・・。
つづく。
【参考】
・Lemon構文解析器生成プログラム
コメント 0