1
現在、プロトコルバッファを正しく使用するように設定したハイブリッドC/Javaビルドインフラストラクチャを取得しようとしています。 Antは最終的なJavaビルドを行っていますが、これに先立ってAutoconf/Makeで多くのJNI前提条件が実行されています。そしてAntは私のmakefileから呼び出されています。ターゲットと前提条件の名前が異なるメイクファイルジェネリックルール
PROTODIR = ../server/protos
PROTO_SOURCE = File_1.proto File_2.proto
BUILT_SOURCES = $(PROTO_SOURCE:.proto=.java)
# Tell make where to look for proto files
vpath %.proto $(PROTODIR)
# Build java from proto files
src/appname/proto/%.java: %.proto
protoc --java_out=src/ --proto_path=`dirname $<` $<
問題:
は、ここで私は作業を取得しようとしているものの抜粋ですか? protoc Javaはファイル名のアンダースコアを削除するため、%.javaと%.protoのファイル名は一致しません。ビルドは動作しますが、Makeが呼び出されるたびにprotoファイル(したがって、protoファイルに依存するもの)が再構築されます。
%.javaと%.protoが異なる場合がありますが、これも可能ですか?