0

应该是一个简单的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)
4

1 回答 1

3

你可以添加这个:

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

或修改您的规则:

$(OBJECTS): %.o: %.cpp %.h
    $(CC) -fPIC -c $< -o $@
于 2013-11-11T22:28:55.170 回答