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 には、テストコードを入れます。ここだけで利用する非公開ヘッダもここに入れます。


すべてのディレクトリには、それぞれのメイクファイルを入れます。



多くのオープンソースプロジェクトも似たような感じだと思いますが、とりあえず備忘録ということで書いておきました。あーすっきり。