42f2eee932
- Hopefully complete the deps for other languages for the generated conformance proto sources. - List the generated sources for cleanup by make's clean rules. - Make the toplevel nuke the pyc files that can get created in the ObjC dir.
85 lines
3.4 KiB
Makefile
85 lines
3.4 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
protoc_inputs = \
|
|
conformance.proto
|
|
|
|
protoc_outputs = \
|
|
conformance.pb.cc \
|
|
conformance.pb.h
|
|
|
|
other_language_protoc_outputs = \
|
|
conformance.rb \
|
|
com/google/protobuf/conformance/Conformance.java
|
|
|
|
bin_PROGRAMS = conformance-test-runner conformance-cpp
|
|
|
|
conformance_test_runner_LDADD = $(top_srcdir)/src/libprotobuf.la
|
|
conformance_test_runner_SOURCES = conformance_test.cc conformance_test_runner.cc
|
|
nodist_conformance_test_runner_SOURCES = conformance.pb.cc
|
|
conformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src
|
|
|
|
conformance_cpp_LDADD = $(top_srcdir)/src/libprotobuf.la
|
|
conformance_cpp_SOURCES = conformance_cpp.cc
|
|
nodist_conformance_cpp_SOURCES = conformance.pb.cc
|
|
conformance_cpp_CPPFLAGS = -I$(top_srcdir)/src
|
|
|
|
if USE_EXTERNAL_PROTOC
|
|
|
|
protoc_middleman: $(protoc_inputs)
|
|
$(PROTOC) -I$(srcdir) --cpp_out=. --java_out=. --ruby_out=. $^
|
|
touch protoc_middleman
|
|
|
|
else
|
|
|
|
# We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is
|
|
# relative to srcdir, which may not be the same as the current directory when
|
|
# building out-of-tree.
|
|
protoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(protoc_inputs)
|
|
oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd $(protoc_inputs) )
|
|
touch protoc_middleman
|
|
|
|
endif
|
|
|
|
$(protoc_outputs): protoc_middleman
|
|
|
|
$(other_language_protoc_outputs): protoc_middleman
|
|
|
|
BUILT_SOURCES = $(protoc_outputs)
|
|
|
|
CLEANFILES = $(protoc_outputs) protoc_middleman javac_middleman conformance-java conformance-csharp $(other_language_protoc_outputs)
|
|
|
|
MAINTAINERCLEANFILES = \
|
|
Makefile.in
|
|
|
|
javac_middleman: ConformanceJava.java protoc_middleman $(other_language_protoc_outputs)
|
|
javac -classpath ../java/target/classes ConformanceJava.java com/google/protobuf/conformance/Conformance.java
|
|
@touch javac_middleman
|
|
|
|
conformance-java: javac_middleman
|
|
@echo "Writing shortcut script conformance-java..."
|
|
@echo '#! /bin/sh' > conformance-java
|
|
@echo 'java -classpath .:../java/target/classes ConformanceJava "$$@"' >> conformance-java
|
|
@chmod +x conformance-java
|
|
|
|
# Currently the conformance code is alongside the rest of the C#
|
|
# source, as it's easier to maintain there. We assume we've already
|
|
# built that, so we just need a script to run it.
|
|
conformance-csharp: $(other_language_protoc_outputs)
|
|
@echo "Writing shortcut script conformance-csharp..."
|
|
@echo '#! /bin/sh' > conformance-csharp
|
|
@echo 'mono ../csharp/src/Google.Protobuf.Conformance/bin/Release/Google.Protobuf.Conformance.exe "$$@"' >> conformance-csharp
|
|
@chmod +x conformance-csharp
|
|
|
|
# Targets for actually running tests.
|
|
test_cpp: protoc_middleman conformance-test-runner conformance-cpp
|
|
./conformance-test-runner --failure_list failure_list_cpp.txt ./conformance-cpp
|
|
|
|
test_java: protoc_middleman conformance-test-runner conformance-java
|
|
./conformance-test-runner ./conformance-java
|
|
|
|
test_csharp: protoc_middleman conformance-test-runner conformance-csharp
|
|
./conformance-test-runner --failure_list failure_list_csharp.txt ./conformance-csharp
|
|
|
|
test_ruby: protoc_middleman conformance-test-runner $(other_language_protoc_outputs)
|
|
RUBYLIB=../ruby/lib:. ./conformance-test-runner --failure_list failure_list_ruby.txt ./conformance_ruby.rb
|