Skip to content

Instantly share code, notes, and snippets.

@t32k
Last active February 3, 2022 05:21
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save t32k/975c4c3a56ea6503dc0b927e00048424 to your computer and use it in GitHub Desktop.
Save t32k/975c4c3a56ea6503dc0b927e00048424 to your computer and use it in GitHub Desktop.

コマンド修飾子

  • @ コマンドを表示しない
  • - コマンドのエラーを無視する
  • + just printオプション指定時でも実行する

make変数

  • MAKE_VERSION GNU make のバージョン番号
  • CURDIR 現在実行しているmakeプロセスのカレントディレクトリ
  • MAKEFILE_LIST makeが読んだファイルリスト
  • MAKECMDGOALS makeのコマンドラインで指定されてたすべてのターゲット
  • .VARIABLES 読み込んだ時点までにmakefileで定義されていするすべての変数名のリスト
list:
	@echo MAKE_VERSION: $(MAKE_VERSION)
	@echo CURDIR: $(CURDIR)
	@echo MAKEFILE_LIST: $(MAKEFILE_LIST)
	@echo MAKECMDGOALS: $(MAKECMDGOALS)
	@echo .VARIABLES: "$(.VARIABLES)"

自動変数

  • $@ ターゲットファイル名
  • $% ライブラリの構成指定中の要素
  • $< 最初の必須項目のファイル名
  • $? ターゲットよりも後で更新された必須項目のすべてをスペースで区切ったリスト
  • $^ すべての必須項目をスベースで区切ったリスト(重複なし)
  • $+ すべての必須項目をスベースで区切ったリスト(重複あり)
  • $* ターゲットファイル名の一部を表す

代入演算子

  • = 再帰展開変数(遅延評価変数)
  • := 単純展開変数
  • ?= 条件付き代入演算子
  • += アペンド(追加)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment