プロダクトディレクトリとは、atmark-dist/vendors/[ベンダー名]
以下にあるディレクトリ群のことです。例えば atmark-dist/vendors/AtmarkTechno/
以下には、アットマークテクノの製品名が並びます。
プロダクトディレクトリの下には、ビルドの動作を決める Makefile
や、ビルド時にデフォルト値として使われる config
ファイル、アプリケーションに必要な設定ファイルなど、ビルドシステム内でプロダクトごとに異なる部分が含まれています。
ここでは、デフォルトの設定に使われる configファイル郡とMakefileについて説明します。
config.arch
ファイルには、アーキテクチャに依存した設定を記述します。実際には、アーキテクチャごとにデフォルトの値がすでに用意されているため、上書きする設定だけを書くようになっています。
設定できる変数は以下のとおりです。
- CPUFLAGS
CPUのコンパイルフラグを指定することができます。
- VENDOR_CFLAGS
ベンダー依存のCFLAGSフラグを指定することができます。
- DISABLE_XIP
XIP (Execute In Place)を無効にする場合、1を指定します。
- DISABLE_SHARED_LIBS
共有ライブラリを無効にする場合、1を指定します。
- DISABLE_MOVE_RODATA
読み込み専用領域の移動を無効にする場合、1を指定します。
- LOPT
ライブラリをコンパイルするときに、コンパイラに渡すオプションを指定します。
- UOPT
ユーザーランドアプリケーションをコンパイルするときに、コンパイラに渡すオプションを指定します。
- CONSOLE_BAUD_RATE
シリアルコンソールのボーレートを指定します。
config.vendor
は、ユーザーランドアプリケーション等の情報が含まれています。atmark-distのビルドシステムが menuconfig
などで設定された情報を保持しています。
このファイルは、atmark-dist/config/.config
のコピーになっています。config.linux-2.6.x
と同様に上書きすることで、デフォルトの値を変更することができます。
config.uClibc
は、uClibcの設定ファイルです。distのメニューから uClibcの変更をすることは、現在できません。uClibcの設定を変更する場合は、uClibcのディレクトリに移動し、uClibc専用のコンフィグツールを使います。uClibcの設定方法もatmark-distと同じく Linux カーネルビルドシステムを使用しています。
Makefileでは、実際のイメージファイルの生成を制御します。デバイスファイルやプログラムのインストール先、プログラムが必要としている設定ファイルやデータファイルのインストール先、チェックサムの生成などです。