【发布时间】:2018-11-19 01:35:27
【问题描述】:
我有一个 makefile,它由几个具有一些依赖关系的目标组成。 一个小结构如下所示
pgdynamic_setup:
cd $(PGDYNAMICDIR); . /opt/Modules/init/sh; module load <tool_name>; totem2 -lmwait $(PGDYNAMIC_APACHE_LN) $(BATCH_NOBATCH) dynamic_setup.tcl | tee -i ./logs/$@.log
pgdynamic_current: pgdynamic_setup
cd $(PGDYNAMICDIR); . /opt/Modules/init/sh; module load <tool_name>; <tool_name> dynamic_current.tcl | tee -i ./logs/$@.log
pgdynamic_cdev: pgdynamic_setup
cd $(PGDYNAMICDIR); . /opt/Modules/init/sh; module load <tool_name>; <tool_name> dynamic_cdev.tcl | tee -i ./logs/$@.log
pgdynamic_tool: pgdynamic_current
cd $(PGDYNAMICDIR); . /opt/Modules/init/sh; module load <tool_name>; <tool_name> dynamic.tcl | tee -i ./logs/$@.log
我没有太多编写 Makefile 的经验。问题是,当我运行make pgdynamic_setup,然后make pgdynamic_current make 执行两个目标(pgdynamic_setup 和pgdynamic_current)。但由于我已经明确运行pgdynamic_setup,我希望make 只执行目标pgdynamic_current。
这不是 MWE。当我用一些touch、cat 命令尝试相同的概念时,它只是按预期工作。我猜这个结构有问题。任何人都可以在结构的基础上帮助我,因为我无法提供一个有效的 MWE。抱歉,提前谢谢。
【问题讨论】:
标签: makefile dependencies