依存関係のあるオープンソースソフトウェアを作成したいと思います。私はC / C ++技術と最小限のmakefile知識を持っています。しかし、このようなコーディングと./configure && make
他のライブラリへの依存関係を正しく含める方法は疑問に思います。
フォローしやすいチュートリアルと習得しにくいチュートリアルはどこにありますか?
答え1
構成や製作は学ぶのが難しくないと思います。しかし、これは複雑で学ぶのが難しいかもしれません。特に実験を通してさらにそうです。たとえば、makeでは、ターゲットを構築するコマンドを厳密にタブにインデントする必要があるため、多くの場合、スペースと区別することは困難です。
以下は、これら2つ(およびそれ以上)の両方をカバーするページです。http://autotoolset.sourceforge.net/tutorial.html#Compiling-with-Makefiles。
GNU構成標準に関するページもあります。http://www.gnu.org/prep/standards/html_node/Configuration.html。
これはautoconf
構成スクリプトを生成するためのツールです。もちろん、独自の構成スクリプトを直接開発することもできますが、autoconf
標準タイプのスクリプトを入手することで、多くのプログラミング作業を節約できます。
答え2
その多くの部分がautoconf
。 (公式文書に加えて)私が推奨する特定のチュートリアルはありませんが、チュートリアルが必要になり、これがあなたが探しているものです。 「Autoconf」は、口語的に「automake」を含むツールセットを表します。
これを実行してからかなり時間が経ちましたが、私のメモを使ってプロセスの概要をまとめてみましょう。
各ソースディレクトリ(ソースを最上位レベルに置かずにサブディレクトリに配置します)ごとに1つを作成する必要があります
Makefile.am
。これは通常のmakefileの規則に従いますが、コンパイル対象は含まれていませんが、代わりにautoconfに固有のものです。プロセス命名スキームは、いくつかのターゲットと変数を定義します。これは処理されますautomake
。最上位レベルでは、
configure.ac
ファイルを生成する必要があります。ツールautoscan
はこれを実行してから調整できます。次に、最上位ディレクトリから始めて、、、、
aclocal
(automake -ac
やり直す必要がautoheader
あるかもしれません)とを実行する必要があります。これには目的を説明するマニュアルページがあります。automake -ac
autoconf
望むより!パッケージを準備しました。
学ぶのは難しいですか?
完全に退屈私はそれが非常に簡単だとは言わないでしょう。プロジェクトが小さく、特定のプラットフォームのみをターゲットにしている場合は、makefileで実行できる依存関係チェックスクリプトを直接作成できます。