如何修复这个Makefile

时间:2010-03-25 08:52:31

标签: g++ makefile

我希望我的Makefile尽可能简单并且仍然可以运行。这就是它的样子。

load: load.cpp
    g++ load.cpp -g -o load
list: list.cpp
    g++ list.cpp -g -o list

当只有一个条目时它工作正常。但是当我添加第二个条目时,它不会检查它是否已更新并需要重新编译,除非我特意提供名称。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

Make仅自动生成第一个目标。因此,添加一个新的第一个目标,取决于其他目标。

all: load list

load: load.cpp
    g++ load.cpp -g -o load

list: list.cpp
    g++ list.cpp -g -o list

答案 1 :(得分:2)

Dave Hinton已经展示了如何使Makefile工作。以下是如何使其更简单:

all: load list

%: %.cpp
    g++ $< -g -o $@