OLD | NEW |
(Empty) | |
| 1 ## Process this file with automake to produce Makefile.in |
| 2 |
| 3 protoc_inputs = \ |
| 4 conformance.proto |
| 5 |
| 6 protoc_outputs = \ |
| 7 conformance.pb.cc \ |
| 8 conformance.pb.h |
| 9 |
| 10 other_language_protoc_outputs = \ |
| 11 conformance.rb \ |
| 12 com/google/protobuf/conformance/Conformance.java \ |
| 13 conformance_pb2.py \ |
| 14 Conformance.pbobjc.h \ |
| 15 Conformance.pbobjc.m |
| 16 |
| 17 bin_PROGRAMS = conformance-test-runner conformance-cpp |
| 18 |
| 19 # All source files excepet C++/Objective-C ones should be explicitly listed |
| 20 # here because the autoconf tools don't include files of other languages |
| 21 # automatically. |
| 22 EXTRA_DIST = \ |
| 23 ConformanceJava.java \ |
| 24 README.md \ |
| 25 conformance.proto \ |
| 26 conformance_python.py \ |
| 27 conformance_ruby.rb \ |
| 28 failure_list_cpp.txt \ |
| 29 failure_list_csharp.txt \ |
| 30 failure_list_java.txt \ |
| 31 failure_list_objc.txt \ |
| 32 failure_list_python.txt \ |
| 33 failure_list_python_cpp.txt \ |
| 34 failure_list_ruby.txt |
| 35 |
| 36 conformance_test_runner_LDADD = $(top_srcdir)/src/libprotobuf.la |
| 37 conformance_test_runner_SOURCES = conformance_test.h conformance_test.cc \ |
| 38 conformance_test_runner.cc \ |
| 39 third_party/jsoncpp/json.h \ |
| 40 third_party/jsoncpp/jsoncpp.cpp |
| 41 nodist_conformance_test_runner_SOURCES = conformance.pb.cc |
| 42 conformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) |
| 43 conformance_test_runner_CXXFLAGS = -std=c++11 |
| 44 # Explicit deps beacuse BUILT_SOURCES are only done before a "make all/check" |
| 45 # so a direct "make test_cpp" could fail if parallel enough. |
| 46 conformance_test_runner-conformance_test.$(OBJEXT): conformance.pb.h |
| 47 conformance_test_runner-conformance_test_runner.$(OBJEXT): conformance.pb.h |
| 48 |
| 49 conformance_cpp_LDADD = $(top_srcdir)/src/libprotobuf.la |
| 50 conformance_cpp_SOURCES = conformance_cpp.cc |
| 51 nodist_conformance_cpp_SOURCES = conformance.pb.cc |
| 52 conformance_cpp_CPPFLAGS = -I$(top_srcdir)/src |
| 53 # Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check" |
| 54 # so a direct "make test_cpp" could fail if parallel enough. |
| 55 conformance_cpp-conformance_cpp.$(OBJEXT): conformance.pb.h |
| 56 |
| 57 if OBJC_CONFORMANCE_TEST |
| 58 |
| 59 bin_PROGRAMS += conformance-objc |
| 60 |
| 61 conformance_objc_SOURCES = conformance_objc.m ../objectivec/GPBProtocolBuffers.m |
| 62 nodist_conformance_objc_SOURCES = Conformance.pbobjc.m |
| 63 # On travis, the build fails without the isysroot because whatever system |
| 64 # headers are being found don't include generics support for |
| 65 # NSArray/NSDictionary, the only guess is their image at one time had an odd |
| 66 # setup for Xcode and old frameworks are being found. |
| 67 conformance_objc_CPPFLAGS = -I$(top_srcdir)/objectivec -isysroot `xcrun --sdk ma
cosx --show-sdk-path` |
| 68 conformance_objc_LDFLAGS = -framework Foundation |
| 69 # Explicit dep beacuse BUILT_SOURCES are only done before a "make all/check" |
| 70 # so a direct "make test_objc" could fail if parallel enough. |
| 71 conformance_objc-conformance_objc.$(OBJEXT): Conformance.pbobjc.h |
| 72 |
| 73 endif |
| 74 |
| 75 if USE_EXTERNAL_PROTOC |
| 76 |
| 77 protoc_middleman: $(protoc_inputs) |
| 78 $(PROTOC) -I$(srcdir) --cpp_out=. --java_out=. --ruby_out=. --objc_out=.
--python_out=.$^ |
| 79 touch protoc_middleman |
| 80 |
| 81 else |
| 82 |
| 83 # We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is |
| 84 # relative to srcdir, which may not be the same as the current directory when |
| 85 # building out-of-tree. |
| 86 protoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(protoc_inputs) |
| 87 oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I
$(top_srcdir)/src --cpp_out=$$oldpwd --java_out=$$oldpwd --ruby_out=$$oldpwd --o
bjc_out=$$oldpwd --python_out=$$oldpwd $(protoc_inputs) ) |
| 88 touch protoc_middleman |
| 89 |
| 90 endif |
| 91 |
| 92 $(protoc_outputs): protoc_middleman |
| 93 |
| 94 $(other_language_protoc_outputs): protoc_middleman |
| 95 |
| 96 BUILT_SOURCES = $(protoc_outputs) $(other_language_protoc_outputs) |
| 97 |
| 98 CLEANFILES = $(protoc_outputs) protoc_middleman javac_middleman conformance-java
conformance-csharp $(other_language_protoc_outputs) |
| 99 |
| 100 MAINTAINERCLEANFILES = \ |
| 101 Makefile.in |
| 102 |
| 103 javac_middleman: ConformanceJava.java protoc_middleman $(other_language_protoc_o
utputs) |
| 104 jar=`ls ../java/util/target/*.jar` && javac -classpath ../java/target/cl
asses:$$jar ConformanceJava.java com/google/protobuf/conformance/Conformance.jav
a |
| 105 @touch javac_middleman |
| 106 |
| 107 conformance-java: javac_middleman |
| 108 @echo "Writing shortcut script conformance-java..." |
| 109 @echo '#! /bin/sh' > conformance-java |
| 110 @jar=`ls ../java/util/target/*.jar` && echo java -classpath .:../java/ta
rget/classes:$$jar ConformanceJava '$$@' >> conformance-java |
| 111 @chmod +x conformance-java |
| 112 |
| 113 # Currently the conformance code is alongside the rest of the C# |
| 114 # source, as it's easier to maintain there. We assume we've already |
| 115 # built that, so we just need a script to run it. |
| 116 conformance-csharp: $(other_language_protoc_outputs) |
| 117 @echo "Writing shortcut script conformance-csharp..." |
| 118 @echo '#! /bin/sh' > conformance-csharp |
| 119 @echo 'mono ../csharp/src/Google.Protobuf.Conformance/bin/Release/Google
.Protobuf.Conformance.exe "$$@"' >> conformance-csharp |
| 120 @chmod +x conformance-csharp |
| 121 |
| 122 # Targets for actually running tests. |
| 123 test_cpp: protoc_middleman conformance-test-runner conformance-cpp |
| 124 ./conformance-test-runner --failure_list failure_list_cpp.txt ./conforma
nce-cpp |
| 125 |
| 126 test_java: protoc_middleman conformance-test-runner conformance-java |
| 127 ./conformance-test-runner --failure_list failure_list_java.txt ./conform
ance-java |
| 128 |
| 129 test_csharp: protoc_middleman conformance-test-runner conformance-csharp |
| 130 ./conformance-test-runner --failure_list failure_list_csharp.txt ./confo
rmance-csharp |
| 131 |
| 132 test_ruby: protoc_middleman conformance-test-runner $(other_language_protoc_outp
uts) |
| 133 RUBYLIB=../ruby/lib:. ./conformance-test-runner --failure_list failure_l
ist_ruby.txt ./conformance_ruby.rb |
| 134 |
| 135 # These depend on library paths being properly set up. The easiest way to |
| 136 # run them is to just use "tox" from the python dir. |
| 137 test_python: protoc_middleman conformance-test-runner |
| 138 ./conformance-test-runner --failure_list failure_list_python.txt ./confo
rmance_python.py |
| 139 |
| 140 test_python_cpp: protoc_middleman conformance-test-runner |
| 141 ./conformance-test-runner --failure_list failure_list_python_cpp.txt ./c
onformance_python.py |
| 142 |
| 143 if OBJC_CONFORMANCE_TEST |
| 144 |
| 145 test_objc: protoc_middleman conformance-test-runner conformance-objc |
| 146 ./conformance-test-runner --failure_list failure_list_objc.txt ./conform
ance-objc |
| 147 |
| 148 endif |
OLD | NEW |