2

いくつかのライブラリを GNU autotools に変換しており、Oracle Pro C プリプロセッサを統合するのに苦労しています。

ワークフローは次のとおりです。 .pc => .c => o. => .so/.a/binary

automake のマニュアルには、ビルド プロセスに追加の事前ステップを追加する方法に関するヒントが見つかりませんでした。変更しようとしましSOURCES=file.pcたが、autoreconf で C ファイルが見つからないというエラーが表示されます。私は追加SUFFIXES = .pc .c .oしました

.pc.c:
      $(PROC) iname=$<

しかし、ターゲットは無視され、直接呼び出された場合$<は解決されません。

何をすべきか?

4

1 に答える 1

0

このようなもの:

%.c : %.pc
        $(PROC) iname=$<

foo.o : foo.pc

GNU make で動作するようです。テストする他の種類のメイクはありません。IIRCだと思います

.SUFFIXES : .pc
.pc.c:
        $(PROC) iname=$<

make動作する可能性がありますが、これをテストする別のものはありません。

私はこれを試してみましたが、あなたが望むように振る舞いました。

foo_SOURCES= $(top_srcdir)/src/main.c $(top_srcdir)/src/foo.pc

SUFFIXES : .pc
.pc.c:
        $(PROC) iname=$<
于 2014-01-10T20:24:37.890 に答える