18

嘿,我只是有一个关于makefile 的快速问题。有没有办法自动运行从makefile生成的可执行文件?

就像我只输入“make”一样,它会编译和构建并自动执行,所以我可以跳过 ./myExecutable 的额外步骤

我在我的笔记中有:

run: prog1
        ./prog1

但这似乎不起作用。

谢谢

4

1 回答 1

27

如果您在没有指定任何目标的情况下运行 make,它将执行它在 Makefile 中找到的第一个目标。按照惯例all是这样一个目标的名称。

如果您为 PHONY 目标run设置了先决条件并将all两者都标记为 PHONY 目标,那么您应该一切顺利。allrun

all: run

run: prog1
    ./prog1

.PHONY: all run

顺便说一句,我认为您已经有一些构建prog1Makefile 的规则,因此没有将其包含在上面显示的 Makefile 中。

另一种方法是只使用run目标显式调用 make,即执行以下命令:

make run
于 2013-03-22T09:09:12.930 回答