1

我正在尝试编写一个简单的 Autotool 包,它只打包一个脚本。这可能看起来有点矫枉过正,但脚本将被添加到嵌入式系统的构建系统中,并且构建系统旨在与 Autotools 很好地配合使用。

我有一个名为wifi_query.sh. 为了打包这个,我遵循了以下步骤:

  1. 创建Makefile.am其中包含以下内容 -

    bin_SCRIPTS = wifi_query.sh
    CLEANFILES = $(bin_SCRIPTS)
    
  2. 我还创建wifi_query.sh.in了包含该行的exec wifi_query.sh. 我不确定我是否理解该.in文件的用途。
  3. 然后我运行autoscan
  4. 然后我运行:

    sed -e 's/FULL-PACKAGE-NAME/wifi_query/' \
    -e 's/VERSION/1/' \
    -e 's|BUG-REPORT-ADDRESS|/dev/null|' \
    -e '10i\
    AM_INIT_AUTOMAKE' \
    < configure.scan > configure.ac
    
  5. 运行touch NEWS README AUTHORS ChangeLog

  6. autoreconf -iv

  7. ./configure

  8. make distcheck

当我运行时,make distcheck我收到一条错误消息:“ *没有规则来制作目标'wifi_query.sh','all-am'需要。停止。”。

我不明白这个错误,如果有人能给我任何好的指示。我怀疑该错误可能是由于wifi_query.sh.in,但我的自动工具经验非常有限。

4

1 回答 1

1

看来我需要bin_SCRIPTS = wifi_query.shdist_bin_SCRIPTS = wifi_query.shin替换该行Makefile.am。完成后,一切似乎都奏效了。

于 2013-06-03T14:09:44.627 回答