2
以下は、私が抱えている問題を説明するために作成されたメークファイルです。Makefile変数の展開
release: TYPE := release
FILE = main.cpp
OBJDIR = dist/$(TYPE)
OBJS = $(patsubst %.cpp,$(OBJDIR)/%.o,$(FILE))
release: $(OBJS)
@echo "just created: " $(OBJS)
%.o:
@echo "create [email protected]"
私は実行出力は「はリリースが作る」:
create dist//main.o
just created: dist/release/main.o
私は、リリース対象の$(OBJS)依存性は、/リリース/ main.oをDISTに拡張されていることを確認するにはどうすればよいとdist // main.oではありません。 dist // main.oに展開する理由は何ですか?
ありがとうございます。ターゲット固有の変数がターゲットレシピ内でのみ有効であることを認識していません。私はmakefileを再検討し、解決策を考え出しました。 – dbotha