[解決済み] コマンドラインからMakefileに引数を渡すには?
2022-05-03 01:11:27
質問
コマンドラインから Makefile に引数を渡すには?
を行うことができると理解しています。
$ make action VAR="value"
$ value
と
Makefile
VAR = "default"
action:
@echo $(VAR)
次のような動作をさせるにはどうしたらよいでしょうか。
$ make action value
value
どうですか?
$make action value1 value2
value1 value2
解決方法は?
おそらくこれはやってはいけないことでしょう。Makeの動作の基本パターンを壊しているのですから。でも、ここにあります。
action:
@echo action $(filter-out $@,$(MAKECMDGOALS))
%: # thanks to chakrit
@: # thanks to William Pursell
EDITです。
最初のコマンドを説明する。
$(MAKECMDGOALS)
は、コマンドラインで綴られた "targets" のリストで、例えば "action value1 value2" のようなものです。
$@
は
自動変数
には、ルールのターゲットの名前(この場合は "action")を指定します。
filter-out
は、リストからいくつかの要素を削除する関数です。そのため
$(filter-out bar, foo bar baz)
は以下を返します。
foo baz
(もっと微妙なこともできますが、ここでは微妙なことは必要ありません)。
これらをまとめて
$(filter-out $@,$(MAKECMDGOALS))
は、コマンドラインで "action" 以外に指定されたターゲットのリスト、つまり "value1 value2" のようなものを返します。
関連
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bash関数にパラメータを渡す
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドライン引数の読み方・処理方法は?
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み] headの反対語は何ですか?あるファイルの最初のN行を除くすべての行を表示したい
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Octaveでコマンドラインをクリアするには?
-
[解決済み] PSEXEC - システムユーザーでコマンドを実行すると、「ハンドルが無効です。
-
[解決済み] "make run "への引数の渡し方
-
[解決済み] xcopy file, rename, suppress "Does xxx specify file name..." message
-
[解決済み】Rスクリプトからコマンドラインパラメータを読み込むにはどうすればよいですか?
-
[解決済み】バッチファイルでワイルドカードに一致するファイルをループ再生する方法
-
[解決済み] ラインインコモン(逆差分)の表示方法を教えてください。
-
[解決済み] コマンドラインからMakefileに引数を渡すには?
-
[解決済み] へのコメント command-line Zsh
-
[解決済み] バッチファイルでの文字列置換