我使用waf(http://code.google.com/p/waf/)构建一个fortran库(也使用了一些c代码)。
相应的wscript看起来像这样:
def build(bld):
bld(
features = 'fc',
source = 'fortran_interface.f90',
target = 'fortran_interface.o')
#install_path = '${PREFIX}/mod')
#bld.install_files('${PREFIX}/mod','fortran_interface.mod')
bld(
features = 'c',
includes = '../../include',
source = 'init_wrapper.c',
target = 'init_wrapper.o')
bld(
features = 'fc fcstlib',
use = 'init_wrapper.o fortran_interface.o',
target = 'fortran_interface',
install_path = '${PREFIX}/lib')
调用waf产生如下:
fc: src/fortran/fortran_interface.f90 ->
build/src/fortran/fortran_interface.f90.1.o
build/fortran_interface.mod
我希望能够将.mod
文件安装到${PREFIX}/mod
。
我尝试install_path
在这种情况下没有效果,或者install_files不起作用,因为a)它没有看到build /目录和b)因为它在之前抱怨如果文件不存在.3
答案 0 :(得分:3)
关于这个帖子(http://groups.google.com/group/waf-users/browse_thread/thread/c771a2f4fedd4e3?pli=1)答案是创建
单独的构建组
bld.add_group()
并使用
bld.srcnode.find_or_declare(<filename>.mod)
使waf查看.mod文件的构建目录。