オプションのマニュアル?または、ディストリビューションでプリコンパイルされていますか?

Dacav

私はC ++で書かれた個人的なプロジェクトに取り組んでおり、ビルドシステムとしてGNUAutotoolsを使用しています。

ソフトウェアをマニュアルページと一緒に配布したいのですが、Groffはあまり好きではありません。このため、私はすべてをAsciidocで記述し、それをGroffでコンパイルすることにしましたa2x

結果には非常に満足していますが、 Asciidocのインストールには多くのディスク容量が必要になる可能性があることに気付きました。たとえば asciidoc-base 、Debian Stretchでは、1928MBの依存関係が必要です。 編集:真実ではありません。提案/推奨無効にするのを忘れましたが、とにかくユースケースは関連しています)。

1つの解決策は、オプションにすることです。これを実現するためconfigure.acに、次の行が含まれています。

AC_CHECK_PROG([asciidoc], [a2x], [a2x], [false])
AM_CONDITIONAL([ASCIIDOC_AVAIL], [test x$asciidoc != xfalse])

…そしてman/Makefile.amファイルは次のように定義されています:

if ASCIIDOC_AVAIL

man1_MANS = foo.1
man5_MANS = foo.conf.5

foo.1: foo.1.txt
    $(asciidoc) --doctype manpage --format manpage ./$<

foo.conf.5: foo.conf.5.txt
    $(asciidoc) --doctype manpage --format manpage ./$<

clean:
    rm $(man1_MANS) $(man5_MANS)

endif

これはうまくいくように見えますが、私はあまり満足していません。マニュアルを提供しないという考えは好きではありません。

make dist手順の一部としてmanページを事前にコンパイルすることをお勧めしますか?ディストリビューションfoo-x.y.z.tar.gzconfigureスクリプト(VCSではチェックされないがによって生成されるautoreconf含まれているのと同じように、作成foo.1してfoo.conf.5プリコンパイルし、ソースtarballで配布することができます。

これが「ベストプラクティス」の観点から受け入れられる場合、どうすればそれを達成できますか?私はそれらをEXTRA_DISTEXTRA_DIST = man1_MANS man5_MANSとして宣言しようとしましたが、あまり運がありませんでした。

何か案が?

編集生成されたファイルを配布に追加する最良の方法は?私の特定のケースに組み込みのメカニズムがあるとは思えませんが、質問は関連しているようです。

ldav1s

私の特定のケースには組み込みのメカニズムがあるとは思えませんが。

実際、そのページのほぼ半分に、ここ説明されているそのようなメカニズムがあります。dist_接頭辞は、あなたが探しているものです。

dist_man1_MANS = foo.1
dist_man5_MANS = foo.conf.5

if ASCIIDOC_AVAIL

foo.1: foo.1.txt
    $(asciidoc) --doctype manpage --format manpage ./$<

foo.conf.5: foo.conf.5.txt
    $(asciidoc) --doctype manpage --format manpage ./$<

CLEANFILES += $(dist_man1_MANS) $(dist_man5_MANS)

endif

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SnapおよびFlatpakアプリは安全にインストールできますか?それらは「公式」であり、特定のディストリビューションバージョンで承認またはテストされていますか?

分類Dev

SnapおよびFlatpakアプリは安全にインストールできますか?それらは「公式」であり、特定のディストリビューションバージョンで承認またはテストされていますか?

分類Dev

SSDでのオーバープロビジョニングは、単なる別のパーティションまたは予約されていないスペースであり、デュアルブートパーティションのOSセットアップと一緒に使用できますか?

分類Dev

ubuntu:errorにAWSelasticbeanstalkコマンドラインツールをインストールする 'awsebcli == 3.10.0'ディストリビューションが見つかりませんでした。これは、アプリケーションで必要です。

分類Dev

あるディストリビューションのLinuxにインストールされているソフトウェアは、別のディストリビューションのLinuxで実行されますか?

分類Dev

あるLinuxディストリビューションでg ++を使用してコンパイルされた実行可能ファイルが別のディストリビューションで使用されている場合、制限はありますか?

分類Dev

InnoSetupでインストールされたアプリケーションのWindows10スタートアイコンのコンテキストメニューにアンインストールオプションがありません

分類Dev

ビデオエンコーダーは、アプリケーションごとにインストールされていますか、それともシステム全体でWindowsにインストールされていますか?

分類Dev

指定されたWebViewパネルがVSCode拡張キーバインディングコントリビューションポイントでアクティブな場合のコンテキストはありますか?

分類Dev

ExcelのPowerQuery From Webオプションを使用して、さまざまなサイトからニュースヘッドラインを抽出し、データをリアルタイムで保持するにはどうすればよいですか?

分類Dev

PDFドキュメントにリンクされた外部マルチメディアファイルは、macOS pdf-viewerプレビューで外部アプリケーションを起動できますか?

分類Dev

スタイルプロパティ 'width'はネイティブアニメーションモジュールではサポートされていません:コードを書き直すためのアドバイスが必要です

分類Dev

Angularマテリアルのオートコンプリート、フィルタリングされたオプションを初期化して、フォーカスされているすべてのオプションを表示します

分類Dev

別々のドライブでWin10とデュアルブートされたManjaro-ManjaroのEFIパーティションタイプはBitLockerとしてリストされています。グラブをロードしません

分類Dev

カスタマイズされたLinuxディストリビューションを作成するためのアドバイスが必要です(最初からまたは既存のディストリビューションから?)

分類Dev

16.04ディストリビューションでホストされているDockerコンテナに12.04ディストリビューションをインストールできますか?

分類Dev

ナビゲーションコントローラーに実装されたスライドアウトメニューの場合、プロトコルデリゲートをどこでどのように設定しますか?

分類Dev

「ルートファイルシステムが定義されていません。パーティションメニューからこれを修正してください」プリインストールされたwin8ラップトップでのUbuntu14.04のインストールの問題

分類Dev

フリーでないLinuxディストリビューションをインストールすると、フリーでないファームウェアはすべてシステムにコピーされますか?

分類Dev

ディストリビューション(apt)リポジトリの代わりにSaltstack py3リポジトリを使用してミニオンをインストールするようにsalt-cloudを構成またはインストールするにはどうすればよいですか?

分類Dev

アニメーション中にラベル、コンパス、タイトルを保持したまま、レイシェイダーマップをmp4ビデオに変換するにはどうすればよいですか?

分類Dev

Javaコントロールパネルのセキュリティオプションはグレー表示されています

分類Dev

アプリケーションでコンパイルされたすべてのRazorビューを取得します

分類Dev

古いアセンブリのインターフェイスでコンパイルされた.Netアプリケーションは、新しいバージョンでオブジェクトを作成できますか?

分類Dev

ディストリビューションをインストールするときの「ブートフラグ」オプションとは何ですか?

分類Dev

埋め込まれたvimeoビデオでトラッカーのプレビューサムネイル(タイムコードのスクリーンショット)を有効にするにはどうすればよいですか?

分類Dev

起動可能なデバイスなしで、マウントされていないパーティションにLinuxディストリビューションをインストールすることは可能ですか?

分類Dev

カスタマイズしたディストリビューションの不要なファイルまたはキャッシュをどのようにクリア/クリーンアップするか

分類Dev

モバイルアプリにiOSディストリビューションまたはAppleディストリビューションの証明書を使用する必要がありますか?

Related 関連記事

  1. 1

    SnapおよびFlatpakアプリは安全にインストールできますか?それらは「公式」であり、特定のディストリビューションバージョンで承認またはテストされていますか?

  2. 2

    SnapおよびFlatpakアプリは安全にインストールできますか?それらは「公式」であり、特定のディストリビューションバージョンで承認またはテストされていますか?

  3. 3

    SSDでのオーバープロビジョニングは、単なる別のパーティションまたは予約されていないスペースであり、デュアルブートパーティションのOSセットアップと一緒に使用できますか?

  4. 4

    ubuntu:errorにAWSelasticbeanstalkコマンドラインツールをインストールする 'awsebcli == 3.10.0'ディストリビューションが見つかりませんでした。これは、アプリケーションで必要です。

  5. 5

    あるディストリビューションのLinuxにインストールされているソフトウェアは、別のディストリビューションのLinuxで実行されますか?

  6. 6

    あるLinuxディストリビューションでg ++を使用してコンパイルされた実行可能ファイルが別のディストリビューションで使用されている場合、制限はありますか?

  7. 7

    InnoSetupでインストールされたアプリケーションのWindows10スタートアイコンのコンテキストメニューにアンインストールオプションがありません

  8. 8

    ビデオエンコーダーは、アプリケーションごとにインストールされていますか、それともシステム全体でWindowsにインストールされていますか?

  9. 9

    指定されたWebViewパネルがVSCode拡張キーバインディングコントリビューションポイントでアクティブな場合のコンテキストはありますか?

  10. 10

    ExcelのPowerQuery From Webオプションを使用して、さまざまなサイトからニュースヘッドラインを抽出し、データをリアルタイムで保持するにはどうすればよいですか?

  11. 11

    PDFドキュメントにリンクされた外部マルチメディアファイルは、macOS pdf-viewerプレビューで外部アプリケーションを起動できますか?

  12. 12

    スタイルプロパティ 'width'はネイティブアニメーションモジュールではサポートされていません:コードを書き直すためのアドバイスが必要です

  13. 13

    Angularマテリアルのオートコンプリート、フィルタリングされたオプションを初期化して、フォーカスされているすべてのオプションを表示します

  14. 14

    別々のドライブでWin10とデュアルブートされたManjaro-ManjaroのEFIパーティションタイプはBitLockerとしてリストされています。グラブをロードしません

  15. 15

    カスタマイズされたLinuxディストリビューションを作成するためのアドバイスが必要です(最初からまたは既存のディストリビューションから?)

  16. 16

    16.04ディストリビューションでホストされているDockerコンテナに12.04ディストリビューションをインストールできますか?

  17. 17

    ナビゲーションコントローラーに実装されたスライドアウトメニューの場合、プロトコルデリゲートをどこでどのように設定しますか?

  18. 18

    「ルートファイルシステムが定義されていません。パーティションメニューからこれを修正してください」プリインストールされたwin8ラップトップでのUbuntu14.04のインストールの問題

  19. 19

    フリーでないLinuxディストリビューションをインストールすると、フリーでないファームウェアはすべてシステムにコピーされますか?

  20. 20

    ディストリビューション(apt)リポジトリの代わりにSaltstack py3リポジトリを使用してミニオンをインストールするようにsalt-cloudを構成またはインストールするにはどうすればよいですか?

  21. 21

    アニメーション中にラベル、コンパス、タイトルを保持したまま、レイシェイダーマップをmp4ビデオに変換するにはどうすればよいですか?

  22. 22

    Javaコントロールパネルのセキュリティオプションはグレー表示されています

  23. 23

    アプリケーションでコンパイルされたすべてのRazorビューを取得します

  24. 24

    古いアセンブリのインターフェイスでコンパイルされた.Netアプリケーションは、新しいバージョンでオブジェクトを作成できますか?

  25. 25

    ディストリビューションをインストールするときの「ブートフラグ」オプションとは何ですか?

  26. 26

    埋め込まれたvimeoビデオでトラッカーのプレビューサムネイル(タイムコードのスクリーンショット)を有効にするにはどうすればよいですか?

  27. 27

    起動可能なデバイスなしで、マウントされていないパーティションにLinuxディストリビューションをインストールすることは可能ですか?

  28. 28

    カスタマイズしたディストリビューションの不要なファイルまたはキャッシュをどのようにクリア/クリーンアップするか

  29. 29

    モバイルアプリにiOSディストリビューションまたはAppleディストリビューションの証明書を使用する必要がありますか?

ホットタグ

アーカイブ