問題タブ [automake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
30074 参照

makefile - Autotoolsを使用したデフォルトのコンパイラフラグ

デフォルトのコンパイラ/リンカなどを設定する方法を知りたい。Autoconf/Automakeコンボを使用する場合はフラグを立てます。

たとえば、何も設定しない場合、デフォルトのコンパイラフラグは「-O2-g」です。たとえば、デバッグしたい場合は、他の何かでオーバーライドできます。

しかし、最適化を有効にするとデバッグが不可能になるため、デフォルトの構成はばかげていると思います。configureしたがって、引数なしで実行する場合、デフォルトのフラグは「-O2」または「-O0-g」のいずれかになります。どうすればいいのですか?

編集:私は次の解決策を試しました:

  • Makefile.amprogname_CXXFLAGS=whateverに入れます。フラグを置き換えるのではなく、デフォルトのフラグに追加するため、機能しません。
  • configure.acに入れCXXFLAGS=whateverます。これは機能しますが、後でオーバーライドすることはできません。
0 投票する
1 に答える
1130 参照

c - GNUAutoMakeの明示的な中間オブジェクトファイル

手作業でコーディングされたMakefileのセットからGNUAutoMakeに変換しているCアプリケーションがあります。これには、インターフェイスヘッダーといくつかのプラットフォーム依存の実装を含むサブディレクトリがあります。現在、実装が選択され、そのディレクトリ内の固定名のオブジェクトファイルにビルドされています。次に、ドライバーインターフェイスを使用するコードは、そのオブジェクトファイルにリンクし、適切なドライバーを自動的に取得します。

このシステムをAutoToolsを使用するように変換する最良の方法は何ですか?私はすでにAutoConfが正しいドライバー実装ファイルの代わりを作成しています。実装ファイルを入れることができる変数を持つAutoMakeターゲットを取得する方法がわかりませEXTRA_*_SOURCES*_LDADD。中間オブジェクトファイルをあきらめて、それらを使用するプログラムターゲットのリストに入れる必要がありますか?

編集: ptomatoのおかげで解決しました。

Automakeの依存関係の解決のため、マニュアルの「条件付きソース」セクションで説明されているように、すべての可能なソースに*_SOURCESとで名前を付ける必要があります。したがって、ライブラリスタンザは実際には次のようになります。EXTRA_*_SOURCES

0 投票する
3 に答える
5773 参照

c - libtoolに変換すると、automakeとautoconfがlibtoolを見つけることができません

libcs​​vをlibtoolを使用するように変換しようとしているので、makefileを操作せずにmacosxで使用できます。ツールから生成されたmakefileを実行しようとすると、次のエラーが発生します。

OSX10.5を実行しています。それで、少しいじくり回した後、生成されたmakefileに空のlibtool変数があることに気づきました。

LIBTOOLをlibtoolに設定すると、すべて問題ありません。以下のautoconfまたはautomakeファイルを間違えたと思います。

それが助けになるなら、ここはconfig.logの一部です:

だから誰かが私が間違ったことを知っていますか?

前もって感謝します。

0 投票する
1 に答える
1085 参照

c - autoconf と automake のバージョンの選択

私のubuntu Linuxで利用可能なautoconfとautomakeの多くのバージョンがあることがわかりました。新しいプロジェクトを最初から作成したい場合、最新バージョンと古いバージョンのどちらが最適ですか?

0 投票する
1 に答える
310 参照

c - automake での条件の使用

最近、Makefile の使用から Automake の使用に切り替えましたが、automake を使用して次の単純な if ステートメントを記述する方法がわかりません。

automakeを使用している場合、これは可能ですか? からmakefileを自動生成するので、Makefileのテンプレートに書いても意味ないの?または、自動生成された Makefile に追加する方法を見つけようとする必要がありますか?

0 投票する
1 に答える
753 参照

c - Automakeによって生成されたMakefileにカスタムコードを追加する

Automakeによって生成されたMakefileに条件付きのランタイムを追加したいとします。この条件についてAutomakeに伝える方法はありますか?

0 投票する
5 に答える
72621 参照

autotools - automake configureスクリプトを使用して64ビットLinuxで32ビットをビルドしますか?

64ビットシステムを使用していますが、32ビットバイナリのセットが必要です。32ビット/x86のmakefileを生成するには、configureスクリプトにどのオプションを渡す必要がありますか?

0 投票する
2 に答える
40451 参照

tar - Autotools - tar これは tar アーカイブのようには見えません

実行するmake distcheckと、パッケージが正常にビルドされ、配布の準備ができたというメッセージが表示されます。を解凍するtar.gztar -zxvf hello-0.2.tar.gz、すべてのコンテンツが正常に抽出されます。ただし、別のマシンでそれらを抽出しようとすると、次のようになります。

奇妙なことは、以前は機能していたことです。

パッケージをビルドしようとしているマシンで、更新しましたがautomake 1.10.1, autoconf 2.61, and tar 1.20 to automake 1.11.1, autoconf 2.65, and tar 1.23、それでも同じ問題が発生します。

何が問題になる可能性がありますか?

0 投票する
1 に答える
2448 参照

linux - Automake: Makefile.am の条件文の構文

は、configure.ac 内の AM_CONDITIONAL 句で定義されていますif VAR_NAMEVAR_NAME

Makefile.amに対応する「定義されていない場合」の構造はありますか?

0 投票する
1 に答える
726 参照

build-process - automake/Makefile.amを使用したIDLエンティティの生成

IDL(インターフェース記述言語)に慣れていない人のために、プラットフォーム(java、c、c ++など)で使用するためにデータ記述を抽象化します。私のプロジェクトには、Foo.idlから生成された依存関係Foo.c、Foo.h、FooHelper.c、およびFooHelper.hがあります。Foo.idlが変更されたときに任意のコマンドを実行し、ビルドプロセスにFoo.c、FooHelper.cを含めるにはどうすればよいですか?

私の現在の試みは、Makefile.amにルールを追加します。ルールが生成されたMakefileにコピーされることを期待しています。

私が試してみました:

次に、Foo.idlをmy_program_SOURCESに追加しましたが、ビルド時にthe_generate_commandを実行しません。

IDLからの生成に成功しました

ただし、Foo.c、FooHelper.cはコンパイルプロセスに追加されないため、ビルドされることはなく、the_generate_commandによって生成されるだけです。

すべてのコード(idlを含む)は$ PROJECT_DIR/srcにあります。