問題タブ [gnu-make]

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

mingw - OS言語でインストールされたgnu make

Windowsマシンに最新のGNU makeをインストールしました。

インストーラーは言語を OS 言語としてセットアップすることを決定しましたが、プロンプトは表示されませんでした。英語にしてほしい。私のOSはスウェーデン語です。

別の GNU プログラムで同様の問題が発生したことを覚えています (どのプログラムかは思い出せません)。この問題は、env var "lang" に値 "c" を追加することで解決されました。

GNU make の言語を英語に切り替えるにはどうすればよいですか?

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

objective-c - GNUStep は、Xcode プロジェクトのプリコンパイル済み (およびプレフィックス付き) .pch ヘッダーを使用して作成しますか?

GNUStep-make で Xcode プロジェクトをビルドしようとしています。現在、プロジェクトは非常に小さい (3 つのクラス) ですが、今後数週間で数百のクラスに成長するため、すべてを把握し、よく整理しようとしています。

Xcode は、次のヘッダーである ProjectName_Prefix.pch ファイルを作成します。a) プリコンパイルされ、b) プロジェクト内のすべてのファイルにプレフィックスが付けられます。少なくとも私が正しく理解していれば。

では、ビルド時にこのファイルをどう処理するかを GNUStep-make に指示するにはどうすればよいでしょうか? XXX_PRECOMPILED_HEADERS 変数に追加しました。

これを配置すると、ビルドは次のエラーで失敗します。

メイクファイルには次のものもあります。

ここで何が間違っていたのかわかりません。私は基本的に、プリコンパイル済みヘッダーについて GNUStep のドキュメントに従おうとしました。

このヘッダーがそれを行っているため、私のプロジェクトのソース ファイルには Foundation フレームワークが明示的に含まれているものはありません。

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

makefile - ディレクトリ内のすべての C ファイルを個別のプログラムにコンパイルします

GNU Make を使用して、ディレクトリ内のすべての C ファイルを個別のプログラムにコンパイルし、各プログラムを .c 拡張子なしでソース ファイルとして指定する方法はありますか?

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

makefile - gnu makefile内の1つのファイルの-Dを取り除く方法は?

CXXFLAGSに「-Wredundant-decls」がありますが、1つのファイルについては削除したいと思います。

私のGNUmakefileで、CXXFLAGSのその部分だけを削除するルールをどのように構成できますか。

私はそのファイルにのみ追加する方法を知っています、私は次のようなことをします:

したがって、理想的には、これを削除するために次のようなことを行います(これは機能しません)。

ただし、おそらく$マジックを使用して、ある種のsedまたはperlスクリプトを作成して、-Wredundant-declsを削除し、CXXFLAGSを削除された値に設定できます。

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

android - Gnu makefile を使用してライブラリ用の Android.mk を作成する方法

Gnu ビルド ツール (gnu makefile) を使用する巨大なサード パーティのネイティブ ライブラリを使用して、Android アプリケーションを作成したいと考えています。

私の質問は、Android ビルド システムまたは Android NDK を使用してこれらのライブラリをビルドするために、これらのライブラリの「Android.mk」ファイルを作成する方法です。

前もって感謝します

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

makefile - 特定のターゲットのmakefile依存関係の生成をスキップします(例: `clean`)

私はいくつかのCおよびC++プロジェクトを持っており、それらはすべて私が今しばらく使用している基本構造に従います。私のソースファイルはにsrc/*.c、中間ファイルはにobj/*.[do]、そして実際の実行可能ファイルはトップレベルディレクトリにあります。

私のmakefileは、おおよそこのテンプレートに従います。

今、私はこれをDebianシステム用にパッケージ化しているところです。私はdebuildDebianソースパッケージのpbuilderビルドとバイナリパッケージのビルドに使用しています。このdebuildステップではcleanターゲットを実行するだけで済みますが、これでも依存関係ファイルが生成されて含まれます。

要するに、私の質問は本当にです:私が望むのはターゲットを実行することだけであるときに、makeが依存関係を生成するのをどうにかして防ぐことができますか?clean

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

makefile - automakeの見苦しさを軽減するには?

私は最近、automake の使い方を学びましたが、コンパイル コマンドが次のようなものであることに少しイライラしています。

たくさんの場合:

これをきれいにする方法はありますか?私は通常、警告メッセージを簡単に見つけることができますが、読むべきテキストの壁は 3 倍大きくなり、より奇妙なものになりました。

私は自分のフラグが何であるかを知っているので、各ファイルに対して「xxx.cpp をコンパイルしています」と言うだけで完璧です。

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

c - GNU Make - プログラム以外のコードへの依存

私が書いているプログラムの要件は、構成ファイルを信頼できる必要があるということです。これを達成するために、コンパイル時にファイルのハッシュを生成するためにいくつかの種類のハッシュ アルゴリズムを使用しています。これにより、ハッシュを定数として含むヘッダーが生成されます。

これに対する依存関係は非常に簡単です。私のプログラムは、それを生成するターゲットを持つ config_hash.h に依存しています。

メイクファイルは次のようになります。

依存関係を処理するのに最適な -M オプションを gcc に使用しています。ヘッダーが変更されると、プログラムが再構築されます。

私の問題は、 config_hash.h が再生成されるように、構成ファイルが変更されたかどうかを確認できる必要があることです。GNU make へのその種の依存関係をどのように説明するのか、私にはよくわかりません。

config/config_file.cfg を config_hash.h の依存関係としてリストし、config_file.cfg の.PHONYターゲットを提供しようとしましたが、成功しませんでした。明らかに、構成ファイルはオブジェクト コードの一部ではないため、gcc への -M スイッチに頼ることはできません。

助言がありますか?残念ながら、私は Makefile の多くを投稿することはできません。

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

makefile - gnu make を使用してソフトウェアをインストールするときに libpcap などのインストール済みライブラリを確認するにはどうすればよいですか?

libpcap に依存するアプリケーションを開発しており、アプリケーションのインストールに進む前にマシンに libpcap がインストールされているかどうかを確認できるように、gnu makefile を作成する方法を知りたいです。

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

sed - Cで依存関係生成を機能させるにはどうすればよいですか? (また、この sed/make ステートメントをデコードしてください!)

私は、他の誰かが書いたものを解読しようとしている make ビルド システムを持っています。Redhat システムで実行するとエラーが発生しますが、solaris システムで実行するとエラーが発生しません。gmake のバージョンは同じメジャー リビジョンです (マイナー リビジョンで 1 つオフ)。

これは C プロジェクトをビルドするためのもので、make システムには、各ディレクトリのローカル Makefile によって継承されるグローバルな Makefile.global があります。

Makefile.global には、次で始まるすべてのターゲットが含まれています。

グローバルファイルには次の行もあります

LIB はライブラリをビルドし、BIN はバイナリをビルドします。

私が持っているターゲットを飛び降りる

これらは、私の質問に答えるために含める必要があるすべての関連するターゲットだと思います。

これらの変数の定義:

これで必要なものはすべて網羅されていると思います。基本的に名前から自明です。

これで、オブジェクトとソースの依存関係を含む .d ファイルが /lib/deps に生成されます。つまり、utilities.a ライブラリの場合、utils.o と utils.c の依存関係スタックをすべて utils.d ファイルで取得します。

次のエラーが発生するため、そのファイルで生成されている構文エラーがあると思います。

エラーが依存関係の生成にあるのか、それともオブジェクト生成ターゲットなどのさらに下の部分にあるのかわかりません。

さらに情報が必要な場合はお知らせください。投稿に追加します