1
我目前正試圖獲得混合C/Java構建基礎結構,以大量使用設置爲正常工作的協議緩衝區。在Ant完成最終的Java構建時,在此之前,Autoconf/Make中有很多JNI先決條件正在完成,然後Ant從我的makefile中調用。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時都會重新構建原始文件(以及因此取決於原始文件的任何內容)。
我該怎麼做才能讓%.java和%.proto可以有所不同,或者甚至有可能呢?