私はアプリケーションバンドルをいくつかのスクリプト、多分デーモン、あるいはヘルパーバイナリを使って作成しています...このようなバイナリをコンパイルすると、という相対的なで実現できます。パス?例えば、より多くの良心的なMakefileはこれは素晴らしいです相対パス名でのクロスコンパイル - バイナリの移植性/組み込み性のために? (GCC)
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/hiawatha]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
は、あなたが/opt/local
代わりの/usr/local
にすべてをインストールすることができます...のような条項のために含まれています。多分夢中になる、とsed
経由でバイナリの名前を変更..私はそれを得る...
しかし、任意のようにパスを設定する機能をマッピングする機能を拡張する場合どのような、私の小さな脳に不明確なままでは、です同様の方法で実行可能に対する相対ディレクトリ、...
--prefix=PREFIX install architecture-independent files in PREFIX [/usr/local]
--prefix=./ aka [../relative/to/binary]
そうで、たとえば、あなたがからbin
を立ち上げ関係なく、それは常に、それは.conf
ファイルだがアップになる予定だったことを知っているであろう1つのフォルダ、その相対../etc
フォルダ内、または場合によってはその隣に同じディレクトリ内にある./
。同様に、ターゲットのアクセス許可/ディレクトリ構造について疑問を抱かせることなく、ログファイルやpidファイルなどへの書き込みアクセスを保証することができます。
これにより、完全にポータブルな/bin /etc /lib /var
ディレクトリ構造が有効になります予測可能性のようなものです...しかし、私は単にそれが "うまくいく"とは思っていません。単に "静的にリンクする"かどうかは不明です。本当に、別のシステムに移動できるバイナリを作成します(、このシナリオでは、同じ場所に同じサポートライブラリを持つものに変更してください。)これでクロスコンパイルすることは可能でしょうか?方法?同じビルドサイクルで複数のアーキテクチャを構築できますか? (CC、CFLAGS、LDFLAGS、-l、-I、およびCPP 101など)の推奨を使用することもできます。これは、おそらくi386とx86_64のようなものです。それは70年代の数学教師のために書かれたものではありませんでしたか?