在运行任何目标之前更改目录

时间:2018-03-24 09:21:53

标签: makefile qmake

我有以下用例,我在Makefile的顶部读取变量,然后根据此变量我必须更改目录以执行所有目标。我避免在每个目标中重复类似

的内容
my_target:
    cd $(MY_DIR) &...

我可以用什么方法来实现这个目标?

2 个答案:

答案 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