Provided by: dpkg-dev_1.13.11ubuntu6_all bug

DEBIAN/RULES

       dpkg-architecture で設定した環曲竸瑤蓮 debian/rules に make 変数 (make
       文書を参照) として渡される。
       必要であれば、構築プロセスでこの変数を使用でい襪掘∋藩僂垢襪戮である。
       以下、パッケージでのクロスコンパイルサポートの改良方法も示す、使用例である:

       ARCH=`dpkg --print-architecture` configure $(ARCH)-linux

       上気紡紊┐

       B_ARCH=$(DEB_BUILD_GNU_TYPE) H_ARCH=$(DEB_HOST_GNU_TYPE) configure
       --build=$(B_ARCH) --host=$(H_ARCH)

       とする。

       ARCH=`dpkg --print-architecture` ifeq ($(ARCH),alpha)
         ...  endif

       この代わりに

       ARCH=$(DEB_HOST_ARCH) ifeq ($(ARCH),alpha)
         ...  endif

       とする。

       一般的に、アーゥ謄チャ情報を取得するためには、 rules ファイルで dpkg
       を呼ぶべい任呂覆(後述の後方互換世鯆鷆,垢襪泙)。 特に --print-
       architecture オプションは、 プロセッサ名と等しくない Debian アー-
       テクチャがでい動瞥茵当てにでい覆ぁ


       新機構を提供するとい法▲廛蹈哀薀爐竜譽弌璽献腑鵑箸慮澳浩-
       を確保するのは、 常によい考えである。 dpkg-architecture は古い
       debian/rules ファイルには影響を及ぼさない。 そのため、新しい
       debian/rules ファイルで、
       古い構築スクリプトを使用する事を考慮するだけであることに注意してほしい。
       以下はその方法である:

       DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture)
       DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH)) ifeq
       ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
         DEB_BUILD_GNU_SYSTEM := gnu else
         DEB_BUILD_GNU_SYSTEM := linux endif
       DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)

       DEB_HOST_ARCH=$(DEB_BUILD_ARCH) DEB_HOST_GNU_CPU=$(DEB_BUILD_GNU_CPU)
       DEB_HOST_GNU_SYSTEM=$(DEB_BUILD_GNU_SYSTEM)
       DEB_HOST_GNU_TYPE=$(DEB_BUILD_GNU_TYPE)

       debian/rules ファイルの一番上にの上気旅圓離汽屮札奪箸鮹屬こと。 dpkg-
       architecture を使用する場合は、このデフォルト値が上書い気譴襦

       フルセットは必要ない。 rules
       ファイルで使用する値を含む、矛盾しないセットを選ぶこと。 例えば、ホスト
       Debian アーゥ謄チャのみ必要とする場合、
        `DEB_HOST_ARCH=`dpkg --print-installation-architecture` で十分である。
       (これは確かにビルドマシンの Debian アーゥ謄チャである。
       しかし、ネイティブコンパイルとの後方互換-
       を持とうとしているだけであることを 思い出すこと)

       (例えば、十分なソース依存関係をとにかく宣言する場合など)
       旧式の構築パッケージには関心がないかもしれない。 しかし、少なくとも環-
       変数を設定せず、`debian/rules build' を直接呼んで
       パッケージを構築するという、従来の方法をサポートするべい澄
       そのためには、適切なデフォルト値を取得する -q
       オプションを使用すること。

       DEB_BUILD_ARCH=`dpkg-architecture -qDEB_BUILD_ARCH`
       DEB_BUILD_GNU=`dpkg-architecture -qDEB_BUILD_GNU`

       上掬の用法が考えられる。 このように、変数が未宣言でないことを保証で-
       る。 これが旧式の構築スクリプトとの後方互換世魏し、
       そのためにソース依存関係が実装・宣言されるのであれば、
       あえてそうするべい任△襦


       dpkg-buildpackage dpkg-cross


       rules ファイルでの make 変数の使い方や、
       パッケージのクロスコンパイルサポートについての疑問は、 Marcus Brinkmann
       <brinkmd@debian.org> まで email を送ってほしい。


       倉澤 望 <nabetaro@debian.or.jp>