C code directory style
C でコードを書くときのディレクトリの作り方の話です。これはまぁ好みの話ですね。私は大抵こうします。
- contrib
- include
- lib
- src
- doc
- include
- xxx
- lib
- src
- samples
- tests
contrib には、外部ライブラリを入れます。中に include と lib ディレクトリを作って、contrib 内のものはすべてここに集まるようにしておきます。こうしておくとパスを通すのが楽だからです。場合によっては、外部ライブラリをダウンロードしてきてビルドまでしてくれる bootstrap スクリプトを用意しておきます。パッチなどをあてなくてもいい場合は、それで十分です。
doc には、主に doxygen の設定ファイルを入れます。doxygen のメインファイルは doxyfile、補助ファイルは xxx.dox という感じの名前にしてます。
include には、公開ヘッダとを入れます。include 直下には何もおかず、xxx というライブラリ名をつけてその下に入れます。大抵の場合これで衝突を避けることができます。
lib には、ライブラリコード を入れます。ここだけで利用する非公開ヘッダもここに入れます。
src には、アプリコードを入れます。ここだけで利用する非公開ヘッダもここに入れます。
samples には、サンプルアプリコードを入れます。ここだけで利用する非公開ヘッダもここに入れます。
tests には、テストコードを入れます。ここだけで利用する非公開ヘッダもここに入れます。
すべてのディレクトリには、それぞれのメイクファイルを入れます。
多くのオープンソースプロジェクトも似たような感じだと思いますが、とりあえず備忘録ということで書いておきました。あーすっきり。