我遇到了此生成文件的問題。我希望每個.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