makeの実行時に下記のように "missing separator" エラーが発生する。
|
1 |
Makefile:32: *** missing separator. Stop. |
ターゲットを複数回記述できる
|
1 2 |
clean: rm *.o |
"clean"という名前のファイルやディレクトリがなければ問題ない。しかし、(たまたま)"clean"という名前のファイルまたはディレクトリが存在すると rm *.o というコマンドは実行されない。
|
1 2 3 4 |
.PHONY: clean clean: rm *.o |
"clean"という名前のファイルやディレクトリの存在如何に関わらず、 $ make clean を実行すればmakeコマンドは期待の動作をする。
|
1 2 |
FOO_MODULE: $(MAKE) -C ./foo_dir |
以下の記述と等価
|
1 2 |
FOO_MODULE: cd ./foo_dir && $(MAKE) |
|
1 2 |
FOO_DEFINES = -DBAR_DEFINE export FOO_DEFINES |
または
|
1 |
export FOO_DEFINES = -DBAR_DEFINE |
環境変数を介して呼び出し先のMakefileのFOO_DEFINESに値が反映される。