3

私は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}/modinstall_pathこの場合は効果がないか、a)build /ディレクトリ内を検索しないため、b)ファイルが存在しない場合はビルドに文句を言うため、install_filesが機能しないことを試しました。3

4

1 に答える 1

3

このスレッド(http://groups.google.com/group/waf-users/browse_thread/thread/c771a2f4fedd4e3?pli=1)に関しては、答えは作成することでした

  • 別のビルドグループ

    bld.add_group()

  • と使用する

    bld.srcnode.find_or_declare(<filename>.mod)

ビルドディレクトリで.modファイルのwafを検索します。

于 2011-11-27T13:21:49.337 に答える