我遇到了此生成文件的问题。我希望每个.cpp文件都得到一个依赖项.hpp例如:一个文件main.cpp有一个依赖项main.hpp为什么在更改.hpp文件时无法生成此生成文件
makefile运行良好,但是当我修改main.hpp时,make不重建。
有人可以给我一个提示。谢谢
objetivo=control
objetos=$(shell ls *.cpp | sed 's/cpp/o/')
optimizacion=-O2 -pipe
enlaces=-lncurses -lmenu -lpq -lform -lcdkw
CPP=g++ -std=c++11 -Wall
.PHONY: all clean debug rebuild
all: $(objetivo)
.cpp.o: $*.hpp
$(CPP) $(optimizacion) -c $<
debug: CPP += -g
debug: optimizacion=
debug: $(objetivo)
rebuild: clean all
$(objetivo): $(objetos)
$(CPP) -o [email protected] $(enlaces) $(objetos)
clean:
-rm *.o $(objetivo)
使用'$(shell ls)'是非常成问题的,您的'sed'脚本不精确。你想'$(patsubst%.cpp,%。o,$(通配符* .cpp))' – tripleee
谢谢。我将改变shell的功能。 – olafito18