0

ばかげた質問をしているのかもしれませんが、" make dist"を実行するときはプロジェクトのインクルード ファイルを配置するが、" " を実行するときは配置しないように automake に指示する方法はありますmake installか?

多分私は正しい方法で行動していないので、より明確にするために、私が必要なことを伝えます.

  1. アプリケーションを組み込みボードにデプロイする必要がありmake install、スクリプトで " " を使用して、ターゲット ボードにコピーできるパッケージを作成します。

  2. 一方で、ツールチェーンをライブラリとインクルード ファイルで更新できるようにしたいと考えています。

最初の状況では、限られたフラッシュ メモリを浪費するのではなく、アプリケーションを実行するために必要なものだけを無駄にすることはできません。

2 つ目では、ヘッダー、pkgconfig、および開発に必要なすべてのものを用意する必要があります。

" " をどのように構成すればよいMakefile.amのでしょうか? また、目標を達成するにはどのような規則を期待すればよいでしょうか?

本当にありがとう。

4

2 に答える 2

2

特定のスクリプト SUID、他のデータ ファイルの R/W 任意のアクセス許可などを設定できるようにしたいだけです。

$(DESTDIR) のmakefileユーザー変数を追加すると、それができると思います。automake で定義されていないので、「make install」は空で使用しますが、dpkg-buildpackage は「make dist」ターゲットで定義します。

(参照: http://www.gnu.org/prep/standards/html_node/DESTDIR.html#DESTDIR )

setuid インストールの管理に役立ちます。

configure.ac :

# Add option to disable setuid during install, use in distcheck
AC_ARG_ENABLE(setuid-install, 
 AS_HELP_STRING(
 [--disable-setuid-install       do not set setuid flags during install]), 
 [enable_setuid_install=$enableval], [enable_setuid_install="yes"])
AM_CONDITIONAL(SETUID_INSTALL, test x"$enable_setuid_install" = "xyes")

Makefile.am :

if SETUID_INSTALL
install-data-hook:
        /bin/chmod 4755 $(DESTDIR)$(bindir)myBinary
endif
于 2014-02-25T13:51:52.600 に答える
0

autoconf少なくともある程度の苦痛なしにその種の制御を提供する汎用インストーラー/アンインストーラーになるように実際に設計されたとは思いません。次のようなものを探しているdpkg-buildpackagerpmbuild、出力make installを特定のサブパッケージに分割できる場所を探しています。

  • パッケージfooは、パッケージの内容 (DSO、実行可能ファイル、および実行時に必要なその他のファイル) に応じて、組み込みボードおよび場合によってはツールチェーン用です。
  • ツールチェーン用のパッケージfoo-devまたはfoo-devel (ヘッダー、静的ライブラリ、開発に必要なその他のファイル)。
于 2012-07-10T01:09:42.570 に答える