2
以下是一个人为的示例Makefile,说明我遇到的问题。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)公布目标的依赖扩大到dist /发行/ main.o和不是dist // main.o。还有什么是它扩展到dist main.o的原因?
感谢。我没没有意识到目标特定的变量只在目标配方内有效,我已经重新考虑了我的makefile并提出了一个解决方案。 – dbotha