Сборка библиотеки fortran с waf, установка файла.mod
Я использую 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, который не работает, потому что a) он не просматривает каталог build / и b) потому что он жалуется перед сборкой, если файл отсутствует.
1 ответ
Что касается этой темы (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.