第8章 プロダクトディレクトリ

プロダクトディレクトリとは、atmark-dist/vendors/[ベンダー名]以下にあるディレクトリ群のことです。例えば atmark-dist/vendors/AtmarkTechno/以下には、アットマークテクノの製品名が並びます。

プロダクトディレクトリの下には、ビルドの動作を決める Makefileや、ビルド時にデフォルト値として使われる configファイル、アプリケーションに必要な設定ファイルなど、ビルドシステム内でプロダクトごとに異なる部分が含まれています。

ここでは、デフォルトの設定に使われる configファイル郡とMakefileについて説明します。

8.1. config.arch

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

シリアルコンソールのボーレートを指定します。

8.2. config.linux-2.6.x

config.linux-2.6.xは、Linuxカーネルのビルドシステムが生成する .configを、別の名前でプロダクトディレクトリに保存しています。

このファイルは、カーネルコンフィグレーションのデフォルト値として扱われます。カーネルの値を変更し、変更したものをデフォルト値としたい場合は、このファイルを上書きしてください。また項7.3.10. 「Update Default Vendor Settings(デフォルトベンダ設定の更新)」メニューを使うことも可能です。

8.3. config.vendor

config.vendorは、ユーザーランドアプリケーション等の情報が含まれています。atmark-distのビルドシステムが menuconfigなどで設定された情報を保持しています。

このファイルは、atmark-dist/config/.configのコピーになっています。config.linux-2.6.xと同様に上書きすることで、デフォルトの値を変更することができます。

8.4. config.uClibc

config.uClibcは、uClibcの設定ファイルです。distのメニューから uClibcの変更をすることは、現在できません。uClibcの設定を変更する場合は、uClibcのディレクトリに移動し、uClibc専用のコンフィグツールを使います。uClibcの設定方法もatmark-distと同じく Linux カーネルビルドシステムを使用しています。

8.5. Makefile

Makefileでは、実際のイメージファイルの生成を制御します。デバイスファイルやプログラムのインストール先、プログラムが必要としている設定ファイルやデータファイルのインストール先、チェックサムの生成などです。