Я использую waf (http://code.google.com/p/waf/) для создания библиотеки на языке фортран (которая также использует некоторый 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, который не работаетпотому что а) он не заглядывает внутрь директории build / и б) потому что жалуется перед сборкой, если файл отсутствует.3