我使用 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