問題タブ [multiple-makefiles]

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 投票する
2 に答える
697 参照

makefile - 複数の OS 用の makefile を作成します。この make (ext?) は機能しませんか?

mingw32 でビルドする有効な makefile があります。そのメイクファイルの名前を Makefile.w32 に変更しました (ソース -> http://pastie.org/319964 )

今、私は次のような Makefile を持っています。問題は、それが私のソースをビルドしないことです

結果:

Makefile.w32 拡張子が気に入らないようです。ビルドされない理由がわかりません。それは明らかに私の「make Makefile.w32」行に到達しています。

0 投票する
4 に答える
10046 参照

makefile - makefile呼び出しmakefileエラー

私は動作しているメーカーを持っています、私はプラットフォームコードを持っています、そしてフォルダ内の各OSのためのいくつかのメーカーのように。現在、動作するmakefileが1つあります。名前をMakefile.wsに変更し、これをMakefileに書き込みました

私はそれを実行し、このエラーが発生しました

奇妙なことに、クリーンは完全に機能します。次に、「make -f Makefile.w32 mingw32」と書くことにしましたが、正しく機能しませんでした。実際、それはmingw32というフォルダを作成しましたが、これは非常に奇妙だと思いました。

mingw32ルールについては、ビルドに使用されるメイン/通常のルールであると思われるビルドをコピーするだけです。

完全な.w32ソースはここにあります http://pastie.org/320035

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

makefile - 変更があるときにサブ make を呼び出してビルドするときに依存関係を確認するにはどうすればよいですか?

別のメイクファイルを呼び出すメイクファイルがある場合、下位のメイクファイルの依存関係が変更されたかどうかをマスターのメイクファイルで正しく確認するにはどうすればよいですか?

たとえば、ルールがある場合

これにより、実行可能な「サーバー」を構築するサブディレクトリで make が呼び出されます。しかし、サーバーを構成するファイルの 1 つを変更すると、親の make は変更を認識せず、サーバーの再構築を拒否します - 「make: `server' is up to date.」。

依存ファイルの 1 つ (たとえば、$(SERVERDIR)/server.c のようなもの) に変更があった場合に、マスター makefile が正しく検出できるようにするにはどうすればよいですか?

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

makefile - サブディレクトリで失敗し、ビルドを停止しないようにします

makeが多数のサブディレクトリを通過し、それらのディレクトリ内で作成する設定があります。失敗した場合はすぐにビルドを停止したいと思います。以下のコードスニペットはこれを示しています。誰かが私にmakefileの設定方法や、トップレベルからサブディレクトリまでの構築に関するドキュメントを正しい方向に向けることができますか?

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

gnu-make - 迷惑なMakefileエラー(g ++:g ++およびシェルエラー)とMulti-Makefile設計アドバイスのヘルプが必要

私はmakefileを持っています:

ディレクトリ構造を作成してデータを設定した後、2番目のmakefileを呼び出します。

2番目のmakefileは次のとおりです。

私はMakefilesの初心者であることを認めます。これらのファイルを(あまり「魔法」を使わずに)合理化する方法と、これら2つのエラーを修正する方法の両方についてアドバイスをお願いします...

まず、いわばすべてが機能していると言わなければなりません。ターゲットをビルドすると、すべてのディレクトリが正しく作成され、実行可能ファイルが生成されます。また、ベースレベルのソースディレクトリにあるファイルに触れると、すべてのファイルが正しくコピーされ、再コンパイルされます。つまり、これらはいわば「実際の」エラーではなく、私が取り除きたい迷惑なエラーテキストです...

最初のエラーは、make molecule_test何かを実行する必要があるビルドを実行したときに発生します。それがする必要があることは何でも行われますが、私も得ます:

..もう一度ビルドが成功し、実行可能ファイルが適切に作成されます

私が得る2番目のエラーは、何もすることがないときに発生します...それが発生すると、次のようになります。

優しくしてください...gnumakefileチュートリアルを含む基本的なmakefileチュートリアルを読みましたが、少数のローカルソースを使用する小さなプログラムと、ネストされたディレクトリ、データを必要とする大きなプログラムを作成することの間には飛躍があるようです。ファイルなど。私はその飛躍を遂げようとしています...残念ながら、私は企業の雰囲気ではなく、大学の小さな研究グループにいるので、過去のコードからのベストプラクティスのmakefileはありません。

私の基本的なアプローチは、次のベースディレクトリを作成することです。

トップレベルのmakefileは、ビルドディレクトリにサブディレクトリを作成し、必要なソース(たとえば、特定のテストプログラム、必要なデータファイル、およびすべてのソースを作成するためのmakefile)をコピーします。次に、トップレベルのmakefileはビルドレベルのmakefileを呼び出します。

このプロセスを合理化する方法についてのアイデアを歓迎しますが、最初にエラーを解決していただければ幸いです。

前もって感謝します!!!

PS私はCentos5.4、GNU Make 3.81、gccバージョン4.1.2 20080704(Red Hat 4.1.2-44)で実行しています....GNUMakeとgccは両方とも64ビットバージョンです...

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

multiple-makefiles - Makeデバッガーはありますか? 他の誰かのメイクファイルを理解する必要があります

もちろん、もう会社を離れている他の誰かによって書かれた、非常に複雑で多層的なメイクファイル (多数のインクルード ファイル、多数のターゲット、多数の変数) にいくつかの機能を追加する必要があります。ここには、一部は理解できても、すべてを理解していない人がいます。

シングルステップ実行できる Make デバッガー、またはコンパイルが通過する多くのファイルとターゲットの実行を追跡する同等の方法はありますか? または、このことがどのように機能するかを理解する他の方法はありますか?

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

makefile - makefile内のオブジェクトファイルの名前を動的に変更する方法

私はmakefilesに非常に慣れていません。私が以前に行った最も複雑なタスクは、すでに設計されたmakefileに新しい.hと.cppまたは.cを含めることでした。

プロジェクトのコンパイルプロセスをVisualStudioからgccに移植する必要があります。同僚が作成したソリューションはすでに作成されていますが、彼は4つのbashスクリプトとmakefileを使用してソリューションをコンパイルしました。

その代わりに、メンテナンスを容易にするソリューションを探していました。私の質問は非常に馬鹿げているかもしれませんが、どこにも見つからず、すべてを正しく理解することもできませんでした。

以下のターゲットでは:

作成中の.oが既に存在するかどうかをテストし、名前を別の名前に変更したいと思います。プロジェクトには同じ名前のソースファイルがいくつかありますが、内容が異なるため、これが必要です。

たとえば、コンパイル中の現在の.cppがfile.cppと呼ばれ、生成されるオブジェクトがfile.oである場合、ルールはfile.oが既に存在するかどうかをテストし、現在のfile.oの名前を別の名前に変更する必要があります。

これを説明する良いチュートリアルを知っているなら、私に知らせてください。そのルールによってコンパイルされている現在のファイルをテストする方法を示す例をたくさん見つけましたが、オブジェクトの名前を.oに変更する例はありませんでした。

事前に感謝し、ここに書かれた「愚かさ」をお詫びします。:-)

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

makefile - ターミナルからメイクファイルの変数を上書きする方法

簡単なメイクファイルを作成しました

makefile を実行しているディレクトリには、hello.c、add.c、multiply.c、factorial.c、subtraction.c の 3 つのファイルが含まれています。

コマンドを使用してターミナルでこれをコンパイルするとmake、hello が出力されます。ここで、「make add」または「makemultiply」または「make factorial」を記述したときに、対応するプログラムがコンパイルされるようにプログラムを変更したいと考えています。

0 投票する
0 に答える
168 参照

makefile - 別のmakefileを再帰的に呼び出した後の奇妙な動作

プロジェクトのルートディレクトリにメインのmakefileがあります。includeディレクトリ内に別のmakefileがあります。2番目のmakefileは、includeキーワードを使用して、私が制御できない他のプロジェクトの他のmakefileを呼び出します。私が持っているものと同じ名前のターゲットがいくつかあるため、このmakefileを直接含めることはできません。回避策として、再帰呼び出しを使用することにしました。次のコマンドを使用して、このmakefileをシェルで実行すると、うまく機能します。

しかし、メインのMakefileを介して次のように呼び出すと、通常は動作しません。つまり、2番目のmakefile内に含まれているファイルに起因する、見つけるのが非常に難しいプロジェクト固有のエラーが報告されます。

次の行も試しましたが、役に立ちませんでした。

再帰呼び出しと直接呼び出しには違いがあるはずですが、それが何なのかわかりません。

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

android - アーキテクチャごとに異なる make ファイル - Android NDK

NDK でコンパイルされた C/C++ コードで複数のアーキテクチャをターゲットにしています。問題は、make ファイルについて明確な構成が必要であり、NDK のアーキテクチャに基づいて同じ環境変数を異なる方法で設定する必要があることです。コンパイル時のターゲットです。

アーキテクチャごとに異なる makefile を使用するにはどうすればよいですか?