makefile:从另一个目标执行一个目标以及其他命令

csc*_*hol 7 makefile

我有一个类似以下目标的makefile:

install:
    do a whole bunch of stuff to install

dist: install
    cp README.txt $(INSTALL_DIR)
    zip $(INSTALL_DIR)

我想不重复来自目标的命令install并dist执行install执行自己的命令之前先.

调用make dist确实执行了来自目标的所有命令,install但之后只是停止并且它不执行自己的命令,例如cp.

我错过了什么吗?

zho*_*shu 10

尝试在makefile中添加此行

.PHONY:安装dist

  • 要详细说明Jonathan所说的.PHONY,请这样想:Make假设所有目标都是实际文件并查看是否可以找到该文件,如果该文件不能被认为是过时的并且执行了规则..PHONY告诉make它不是真正的文件,所以不要寻找它或尝试将它与任何模式/规则相匹配,当然如果真的有一个文件/目录,那么不要把那个文件当作目标,可能将目标视为最新.http://www.gnu.org/s/hello/manual/make/Phony-Targets.html (6认同)