我想通过跟踪标头更改在目录make
中构建所有内容。.cpp
我尝试通过首先使 gcc 输出带有-MM
选项的依赖项的目标,然后将主体附加到实际调用编译的目标:
OPTIONS = -std=c++11 -Wall
export
all : $(patsubst %.cpp, %.o, $(wildcard *.cpp))
%.o : %.mkt
make -f $*.mkt
%.mkt : %.cpp
gcc $(OPTIONS) -MM $*.cpp > $&.mkt1
echo gcc $(OPTIONS) -c %.cpp > $*.mkt2
cat $*.mkt1 $*.mkt2 > $*.mkt
然而不知何故,这个脚本发出了表单的调用
g++ -c -o something.o something.cpp
对于目录中的每个.cpp
文件。临时文件.mkt1
,.mkt2
并.mkt
没有被创建。为什么会这样?我如何实现期望的行为?我正在使用 mingw 在 Windows 上执行此操作。