如何使用通配符指定每个源文件在其相应头文件中的依赖关系?

时间:2013-11-11 22:12:56

标签: c++ makefile

应该是一个简单的makefile问题,但在快速浏览后没有找到解决方案。

基本上我有一堆“cpp”代码,每个代码都有一个具有相同主干名称的相应头文件。我想通过使用通配符指定每个源文件在其相应头文件上的依赖关系。最后一个注释掉的行是我想要添加的,显然它没有按预期工作。

SOURCES=a.cpp b.cpp c.cpp
HEADERS=$(SOURCES:.cpp=.h)
OBJECTS=$(SOURCES:.cpp=.o)

$(OBJECTS): %.o: %.cpp
     $(CC) -fPIC -c $< -o $@

#$(OBJECTS): $(HEADERS)

1 个答案:

答案 0 :(得分:3)

您可以添加:

$(OBJECTS): %.o: %.h

或修改您的规则:

$(OBJECTS): %.o: %.cpp %.h
    $(CC) -fPIC -c $< -o $@