タグ

ブックマーク / masahir0y.blogspot.com (1)

  • make の -C オプションについて

    makefile を読み込むなどの動作の前に、ディレクトリ dir に移動する。 (中略) このオプションは通常、make を再帰的に呼び出すときに使われる。 と書いてあります。 ほとんどの場面で 「make -C dir」は「cd dir; make」と同じと考えていいと思うが、 わずかに挙動が違う部分があることに最近気づいた。 実験のため、次のような /home/foo/Makefile, /home/foo/bar/Makefile という2つの Makefile を用意。 /home/foo/Makefileの内容: all: @ echo CURDIR = $(CURDIR) @ echo PWD = $(PWD) @ cd bar; $(MAKE) /home/foo/bar/Makefileの内容: all: @ echo CURDIR = $(CURDIR) @ echo

    raimon49
    raimon49 2019/09/07
    cd dir; makeする場合とmake -C dirの違い。make実行プロセスのカレントディレクトリは$(CURDIR) or $(shell pwd)にしておけば環境変数$(PWD)のように親makeから影響を受けない。
  • 1