2013-02-21 6 views
20

私はGitHubでホストされているライブラリにautotoolsを使用しています。通常のREADMEのテキストファイルを使用する代わりに、README.mdを使用します。README.mdでautotoolsを使用

automakeを実行しているときに、私は次のエラー

Makefile.am: required file `./README' not found 

READMEをチェックしないのautotoolsを伝えることが可能になってしまいますか?

答えて

27

foreignオプションをautomakeに渡すだけです。これは、ソフトウェアが標準的なgnu標準に準拠していないことを示しているため、READMEを省略するとエラーではありません。我々は、テキストを生成する

README: README.md 
     fgrep -v "[Build Status]" $< \ 
       | markdown \ 
       | html2text -style pretty -nobs \ 
       | sed -e 's:&gt;:>:g' \ 
       > [email protected] 

を使用している

AUTOMAKE_OPTIONS = foreign 
+1

素晴らしいです、ありがとうございます。他に注意してください。 'configure.ac'を変更した後に' autoreconf'を実行する必要があります。 –

4

READMEファイルをお持ちでない場合、READMEファイルを検索しないように尋ねる理由は何ですか?それは単にマークダウン形式になり、README.mdとして保存されます。 READMEファイルをREADME.mdファイルと同じにするには、そのファイルにリンクしませんか?

コマンドラインから:

ln -s README.md README 

そのように、あなたはあなたのREADME.mdファイルを手にすると、あなたが使用するすべてのツールがまだ標準の命名規則で作業することができます。言い換えれば、autotoolsによってreadmeのカスタムパスを指定できる可能性が非常に高いです。

+4

私はもちろんこれを望んでいません。それはちょうど混乱している。 –

7

AM_INIT_AUTOMAKE([foreign]) 

それはMakefile.amにAUTOMAKE_OPTIONSを割り当ててもを行うことができる。典型的には、これはconfigure.acで行われますREADMEをマークダウンREADME.md

+0

ありがとうございます!なぜそんなに複雑なの? README:README.md cat $ < > $ @。tmp do? :) – Ax3l

0

シンプルなソリューション、pn fcellerの答え:必要なのはREADMEのビルドルールです。makefile.amです。このルールは空の場合もあります。だから、あなたのmakefile.amに次の行を追加します。

すべてです
README: README.md 

、今はautomakeはもう文句はありません、あなたはforeignとしてプロジェクトを宣言する必要はありません。

それが必要とされない

、私はより完全なルールを好む、私はmakefile.amに追加します。

README: README.md 
    pandoc -f markdown -t plain --wrap=none $< -o [email protected] 

CLEANFILES = README 

しかし、あなたが明示的make READMEを呼び出さない限りでもこのルールで、READMEが内蔵されていません。

関連する問題