gnu-make

Makefileの「再帰拡張変数の割り当て」と「単純な拡張変数の割り当て」の違いは何ですか?
gnu-make

Makefileの「再帰拡張変数の割り当て」と「単純な拡張変数の割り当て」の違いは何ですか?

私はそれらの違いについて混乱しています。 GNUドキュメントを読んだが、まだ混乱している。 指定した値はそのままインストールされます。他の変数への参照が含まれている場合、その変数が置き換えられるたびに(他の文字列を拡張する際に)、これらの参照が拡張されます。これが発生した場合を再帰拡張と呼びます。 変数が定義されると、単純に拡張された変数の値が一度スキャンされ、他の変数と関数への参照が拡張されます。拡張が完了すると、変数の値は拡張されなくなります。変数を使用すると、値は拡張としてそのままコピーされます。変数への値参照が含まれている場合、拡張結果には変数...

Admin

「arm-linux-gcc:見つかりません」エラーが発生するのはなぜですか?
gnu-make

「arm-linux-gcc:見つかりません」エラーが発生するのはなぜですか?

私のボードのu-bootを構築するために、次の2つのコマンドに従いました。 $ sudo make nanopi_h3_defconfig ARCH=arm CROSS_COMPILE=arm-linux- $ sudo make ARCH=arm CROSS_COMPILE=arm-linux- 最初のコマンドで結果を得ました。設定は.configに書き込まれます。 それは成功を意味します。しかし、2番目のコマンドでは次のようになります。 make: arm-linux-gcc: No such file or directory /bin/sh: 1:...

Admin

make ファイルのログ出力 (stdout)
gnu-make

make ファイルのログ出力 (stdout)

makeファイル内からログファイルに出力(stdout)を送信するには?私は "make> build.log"のようなコマンドラインソリューションには興味がありません。以下のリストは私の一般的なmakeファイルです。 # +--------------------------------------------------------------------------+ # : Uncomment the appropriate section below (comment all others) : # +-----...

Admin

Makeは変更時にパターンルールの遷移依存関係を再構築しません。なぜですか?
gnu-make

Makeは変更時にパターンルールの遷移依存関係を再構築しません。なぜですか?

おおよそ次のようなMakefileがあります。 .PRECIOUS: %.a %.b %.c %.a: touch $@ %.b: %.a touch $@ %.c: %.b touch $@ を使用して "test.c"を生成すると、3make test.cつのファイル(test.a、、、)がすべて正しく生成されます。しかし、今削除した後に再生成しようとすると何も起こりません。test.btest.ctest.atest.c その理由は明らかです。test.cにのみ依存しtest.bてtest.b変更...

Admin

Makefileとpidファイル
gnu-make

Makefileとpidファイル

Makefileにはpidファイルに依存するいくつかの便利なルールがありますが、プロセスが存在しなくてもpidファイルがまだ存在する場合があります。 makeでこの問題を解決するための良いパターンは何ですか? たとえば、qemuで何かを実行する必要がある場合(複雑なマルチアーキテクチャ要件としてビルド): $(QPID): qemu-system... -pidfile "$(QPID)" ... うまく動作し、qemuを一度だけ起動し、ほとんどのシステムで完全にシャットダウンし、特定の種類の仮想マシンに依存するすべてのルールは正しいpidfil...

Admin

Makefileで対話型コマンドを正しく実行してください。
gnu-make

Makefileで対話型コマンドを正しく実行してください。

一連のビルドステップを事前に実行する必要があるカスタムインタラクティブコマンド(「repl」)があります。 Makefileは、提供するキャッシュ機能のため、この特定のビルドプロセスに最適です。 したがって、Makeを使用して作成したreplを生成するためにMakeを使用したいという誘惑は非常に大きくなりました。 アーティファクトビルドには対話型ステップは含まれません。(これはベストプラクティスに反しています。):インタラクティブなreplは開発を提供する方法です。 私はこのインタラクティブなreplがMakeを介して呼び出されるともっと悪く動作することがわ...

Admin

コンパイルせずにLinux Liteに新しいバージョンのgnu makeをインストールする
gnu-make

コンパイルせずにLinux Liteに新しいバージョンのgnu makeをインストールする

私はLinuxライト5.8を使用しています。インストールされているgnu makeのバージョンは4.2.1ですが、最新のgnu makeのバージョンは4.4.1です。 ソースからコンパイルせずにこの最新バージョンを簡単にインストールする方法はありますか? この投稿を見つけましたhttps://askubuntu.com/a/1386772/1326これは4.3用のdebパッケージを指しているようですが、リポジトリリンクは機能しなくなり、最新バージョンのgnu makeを入手したいと思います。 ...

Admin

Makefileエラー「コンテキスト検証エラー:ファイルを読み込めないときに「読み取り権限がありません」」
gnu-make

Makefileエラー「コンテキスト検証エラー:ファイルを読み込めないときに「読み取り権限がありません」」

次のエラーが発生します。 make deploy_test error checking context: 'no permission to read from '.../ssh-priv-key''. make: *** [Makefile:24: build_deploy] Error 1 このssh-priv-keyファイルは、意図的にユーザーが読めないように作成されています。 makefileが期待どおりに実行されないようにするこの権限の問題をどのように回避できますか? Web検索で何も見つからず、関連するものも見つかりませんman make。私...

Admin

makefileにcURLを含める
gnu-make

makefileにcURLを含める

私のコードでカールを使用し、Makefileを介して実行しています。ただし、「make」コマンドを使用して実行すると、「curl/curl.h: ファイルまたはディレクトリが存在しません」などのエラーが発生します。以下は私のmakefileの内容です。 ` CXX = /home/directory/Documents/xyz/l4t-gcc/bin/aarch64-buildroot-linux-gnu-cc path = /home/directory/Documents/xyz/l4t-gcc/bin/ CFLAGS = -Wall #INCLUDE ...

Admin

FreeBSD make(bmake)とmacOS make(GNU Make 3.81)と連携するために、makefileでシェル配布をどのように使用しますか?
gnu-make

FreeBSD make(bmake)とmacOS make(GNU Make 3.81)と連携するために、makefileでシェル配布をどのように使用しますか?

!=FreeBSD、macOS、Linuxで実行されるmakefileでシェル割り当て演算子(たとえば)を使用したいと思います。例は次のとおりです。 a!= seq 3 .PHONY: all all: $a .PHONY: $a $a: @echo $@ 予想される結果は次のとおりです。 $ touch 1 2 3 $ make all 1 2 3 残念ながら、macOS Monterey 12.6.1に付属のGNU Makeはシェル割り当て演算子をサポートしておらず、この例の出力は空です。これは、最近のLinuxディストリビューションに触...

Admin

"make -j16 -l16"の呼び出しに失敗しました。
gnu-make

"make -j16 -l16"の呼び出しに失敗しました。

GazeboでTiagoロボットをシミュレートしたい、ROSが利用可能なパッケージを使用しています。以前はシミュレーションに問題はありませんでしたが、今はそうではありません。私はKVM仮想マシンでROS melodicとubuntu 18.04を使用しています。コマンドを使用してワークスペースをビルドすると、catkin_make次のエラーが発生します。 [ 1%] Built target _tiago_pick_demo_generate_messages_check_deps_PickUpPoseGoal [ 1%] Generating dyna...

Admin

リメイクには必要な場合にのみ makefile が含まれます。
gnu-make

リメイクには必要な場合にのみ makefile が含まれます。

foo.o2つの「主な」目標であるとのMakefileがあるとしましょうclean。前者にはファイルを生成する方法がありますfoo.o。後者はすべての一時ファイルを削除します。 依存関係を手動で指定する必要性を排除するために、依存関係の形式を指定する有効なmakefileをfoo.o目指しています。この依存関係ファイルはmakefileに含まれています。foo.dfoo.o foo.d : dep1 dep2 depn 生成されたファイルは次のとおりです。 ;; This buffer is for text that is not saved, and f...

Admin

GNU makeのすべての規則の直列化:ベストプラクティス?
gnu-make

GNU makeのすべての規則の直列化:ベストプラクティス?

メイクファイルがあるのに確認したいです。すべてのルール順次実行されます。つまり、並列実行処刑される。 私は持っていると信じています3つの方法この目標を達成するには: そして.NOTPARALLELターゲット、 を呼び出してmake使用しますmake -j 1。 たとえば、makefileで直接フラグを設定すると、次のようになります。MAKEFLAGS := -j 1 3つの間に「ベストプラクティス」があり、どちらがより強力ですか? たとえば、これはあまりにも多くですか? MAKEFLAGS := --jobs=1 .NOTPARALLEL: all:f...

Admin

Makefileでecho -eが奇妙に動作するのはなぜですか?
gnu-make

Makefileでecho -eが奇妙に動作するのはなぜですか?

私はMakefile(該当する場合はUbuntu 20.04で)を作成していますecho。 test.txt: @echo -e 'hello\nworld' @echo -e 'hello\nworld' > test.txt を実行すると、makestdoutでもtest.txtと同じ内容が表示されると予想されますが、実際にはそうではありません。標準出力からこれを取得します。 hello world しかし、これはtest.txtにあります。 -e hello world 一方-e、Makefileから次の2行...

Admin

make all-recursiveを使用すると権限拒否エラーが発生しますか?
gnu-make

make all-recursiveを使用すると権限拒否エラーが発生しますか?

autotoolsとGNU makeを使ってCライブラリを構築していますが、次の行があります。 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive Makefileでコンパイルするとエラーが発生します。 make all-recursive make: make: Permission denied make: *** [Makefile:427: all] Error 127 何が問題なの? ...

Admin