应该是一个简单的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)
答案 0 :(得分:3)
您可以添加:
$(OBJECTS): %.o: %.h
或修改您的规则:
$(OBJECTS): %.o: %.cpp %.h
$(CC) -fPIC -c $< -o $@