为什么这个生成文件每次都会重建
Why does this Makefile rebuild every time?
我有一个Makefile来构建一些简单的Python绑定。不幸的是,在普通make
或make all
它每次都会重建,即使py11_bindings.cpp
没有改变。我检查了源文件是否会意外被触摸或其他东西,但据我所知并非如此。
PYTHON = /Library/Frameworks/Python.framework/Versions/3.5/bin
CPP = c++
INC = -I/software/pybind11/include -I/software/eigen
PYTHONCFG = `$(PYTHON)/python3.5-config --cflags --ldflags`
SRC = py11_bindings.cpp
TARGET = _chain.so
all: $(SRC)
$(CPP) -O3 -shared -std=c++11 $(INC) $(PYTHONCFG) $^ -o $(TARGET)
clean:
rm $(TARGET)
我完全不知道为什么要发生这种情况。
我不是makefile专家,所以也许我没有使用正确的术语。
但是:您的all:
定义创建源文件,何时应列出要创建的目标。然后,您应该为每个目标列出依赖项并描述如何创建它。
因此,您的生成文件应如下所示:
all: $(TARGET)
$(TARGET) : $(SRC)
$(CPP) -O3 -shared -std=c++11 $(INC) $(PYTHONCFG) $^ -o $(TARGET)
相关文章:
- Android 在编译二进制文件时重建静态库
- 自定义构建文件更改不会触发VS 2017中的项目重建
- 每次都会重建多个程序的制作文件,尽管配方"all"被标记为虚假
- CMake:如何在包含的标头更改时自动重建 .obj 文件
- 为什么这个生成文件每次都会重建
- 一次又一次地重建以查看导入的 QML 文件更改
- Cmake和忍者重建不必要的文件
- 如果头文件被更改然后恢复,如何停止/欺骗 cmake 不重建
- 每次将对象文件转储到其他目录中时重建 makefile
- 强制 MS VS2010 在每次构建时重建一个 cpp 文件
- 删除它们后,会自动重建使用-mmd生成的依赖性文件
- 生成文件 - 使用修改后的头文件重建
- 如何获取 Rakefile 以自动重建依赖项文件
- Qt 在编译时生成包含 Git 哈希的头文件,并使用文件强制重建
- 二叉树不会从文件重建
- C++重建删除依赖文件
- openCV-如何从windows 8.1中为github for python下载的.zip文件中重建
- 如何在SWIG文件更改后重建项目
- 将一个文件编码为1/0二进制文件,并在c++中重建原始文件
- 使用GCC依赖文件会导致Make每次都完全重建项目