0
$(BUILDDIR)/%.check: $(SRCDIR)/%.c
        $(eval pragma := $(shell grep "pragma" $< ))
        @echo $<: $(pragma)

$(pragma)変数は、#pragmaを含むファイルの場合でも、常にnull文字列です。

どうしたの?

4

1 に答える 1

1

いくつか間違っていることがあります。

1)Make構文をコマンドに入れています。これはシェル構文に含まれている必要があります。

2)あるコマンドで変数を設定し、それを別のコマンドで使用しようとしています(各コマンドは独自のサブシェルで実行されるため、機能しません)。

3)単純なコンポーネントをテストせずに複雑なコマンドを試行しました(何かが間違っていることがわかります)。

#pragma行を表示するだけの場合は、次のようにします。

$(BUILDDIR)/%.check: $(SRCDIR)/%.c
    @echo $<: `grep "pragma" $<`

線でもっと複雑なことをしたい場合は、それが何であるかを教えてください。私たちが助けることができるかどうかを確認します。

于 2012-07-16T12:47:46.563 に答える