2

automakeMakefileルールのに実行されるMakefileルールを生成しようとしています。「all-local」ルールと「hooks」ルールを定義できることを確認しましたが、これらは、たとえば「all」ルールと他のルールのに実行されます。

automakeがルールを追加する前に私のコードを実行できる方法はありますか?ディレクトリにファイルを自動的に生成したいのですが、makeを介したコンパイルプロセスは、常にautomakeMakefileルールに従ってプログラムをコンパイルしようとします。「事前」ルールを追加できれば、必要なファイルを生成してから、通常のコンパイルプロセスを実行できます。

BUILT_SOURCESについては知っていますが、使用しないようにしています

それは可能ですか?ありがとう!

4

2 に答える 2

0

これを行う方法はありません。

一般に Makefile では、これを行いたい場合は、必要に応じて適切な依存関係を追加することを検討する必要があります。

于 2013-06-02T02:31:07.180 に答える
0

Makefile は、前提条件が異なる同じターゲットを持つことができます。その場合、前提条件はマージされます。

# The following will be equivalent to 'target: prerequisite1 prerequisite2'
target: prerequisite1
target: prerequisite2

これは、GNU make マニュアルから推測できます(非常に悪い説明ですが、これ以上のものは見つかりませんでした)。

この機能を独自の で活用できますMakefile.am

all: all-prehook

all-prehook:
    echo Prehook called here

.PHONY: all-prehook

automakeが文句を言うことに注意してください(Warning: overrides Automake targetまたは同様のもの)。を使用してシャットダウンできます。autoconfを使用している場合は、呼び出し-Wno-overrideに追加するだけです。AM_INIT_AUTOMAKE

于 2021-06-12T08:01:21.497 に答える