作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 extconf.rb
中,我有
$srcs = %w{foo.cpp bar.cpp}
$objs = %w{foo bar}
其中每一个都依赖于多个头文件。如果我touch foo.cpp
或touch bar.cpp
,然后执行rake compile
,它会重新编译相应的目标文件。
但显然,触摸 .h
文件不会产生相同的效果。我不记得这是我使用 extconf.rb
的症状还是只是用 C/C++ 编码的事实。
有什么方法可以指示 extconf.rb
编写一个识别这些头文件的 makefile?
最佳答案
您不要直接在 extconf.rb
中执行此操作;无论出于何种原因,mkmf
使用一个名为 depend
的单独文件来指定这些类型的内容。如果您手动编写 makefile,则将所有依赖项置于相同的形式;因此,对于使用 client.h
和 wombat.h
的文件 foo.cpp
,您可以将以下行添加到 depend
:
foo.o: client.h wombat.h`
在构建您的 Makefile
的过程中,mkmf
会将该文件的内容复制到您的 Makefile
中,从而使这些规则得到遵守作为构建过程的一部分。
关于c++ - extconf.rb:如何生成依赖于头文件更改的 makefile 目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18685355/
我是一名优秀的程序员,十分优秀!