我有以下用例,我在Makefile的顶部读取变量,然后根据此变量我必须更改目录以执行所有目标。我避免在每个目标中重复类似
的内容my_target:
cd $(MY_DIR) &...
我可以用什么方法来实现这个目标?
答案 0 :(得分:0)
我并不是100%清楚你需要什么,但以下内容应该有效
ifndef submake
export submake=1
variant := somedir
$(MAKECMDGOALS):
$(MAKE) -C $(variant) -f $(realpath $(MAKEFILE_LIST)) $@
else
#actual targets defined here
foo:
@echo $@
bar:
@echo $@
endif
答案 1 :(得分:0)
转到要运行Make的目录(cd
),然后
make -f /path/to/Makefile