| |
| benchmarks_protoc_inputs = \ |
| benchmarks.proto \ |
| benchmark_messages_proto3.proto |
| |
| benchmarks_protoc_inputs_proto2 = \ |
| benchmark_messages_proto2.proto |
| |
| benchmarks_protoc_outputs = \ |
| benchmarks.pb.cc \ |
| benchmarks.pb.h \ |
| benchmark_messages_proto3.pb.cc \ |
| benchmark_messages_proto3.pb.h |
| |
| benchmarks_protoc_outputs_proto2 = \ |
| benchmark_messages_proto2.pb.cc \ |
| benchmark_messages_proto2.pb.h |
| |
| AM_CXXFLAGS = $(NO_OPT_CXXFLAGS) $(PROTOBUF_OPT_FLAG) -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare |
| |
| bin_PROGRAMS = generate-datasets cpp-benchmark |
| |
| generate_datasets_LDADD = $(top_srcdir)/src/libprotobuf.la |
| generate_datasets_SOURCES = generate_datasets.cc |
| generate_datasets_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) |
| nodist_generate_datasets_SOURCES = \ |
| $(benchmarks_protoc_outputs) \ |
| $(benchmarks_protoc_outputs_proto2) |
| |
| # Explicit deps because BUILT_SOURCES are only done before a "make all/check" |
| # so a direct "make test_cpp" could fail if parallel enough. |
| # See: https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Recording-Dependencies-manually |
| generate_datasets-generate_datasets.$(OBJEXT): benchmarks.pb.h |
| |
| cpp_benchmark_LDADD = $(top_srcdir)/src/libprotobuf.la $(top_srcdir)/third_party/benchmark/src/libbenchmark.a |
| cpp_benchmark_SOURCES = cpp_benchmark.cc |
| cpp_benchmark_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) -I$(top_srcdir)/third_party/benchmark/include |
| nodist_cpp_benchmark_SOURCES = \ |
| $(benchmarks_protoc_outputs) \ |
| $(benchmarks_protoc_outputs_proto2) |
| |
| $(benchmarks_protoc_outputs): protoc_middleman |
| $(benchmarks_protoc_outputs_proto2): protoc_middleman2 |
| |
| CLEANFILES = \ |
| $(benchmarks_protoc_outputs) \ |
| $(benchmarks_protoc_outputs_proto2) \ |
| protoc_middleman \ |
| protoc_middleman2 \ |
| dataset.* |
| |
| MAINTAINERCLEANFILES = \ |
| Makefile.in |
| |
| if USE_EXTERNAL_PROTOC |
| |
| protoc_middleman: $(benchmarks_protoc_inputs) |
| $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. $(benchmarks_protoc_inputs) |
| touch protoc_middleman |
| |
| protoc_middleman2: $(benchmarks_protoc_inputs_proto2) |
| $(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. $(benchmarks_protoc_inputs_proto2) |
| touch protoc_middleman2 |
| |
| 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) $(benchmarks_protoc_inputs) $(well_known_type_protoc_inputs) |
| oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd $(benchmarks_protoc_inputs) ) |
| touch protoc_middleman |
| |
| protoc_middleman2: $(top_srcdir)/src/protoc$(EXEEXT) $(benchmarks_protoc_inputs_proto2) $(well_known_type_protoc_inputs) |
| oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd $(benchmarks_protoc_inputs_proto2) ) |
| touch protoc_middleman |
| |
| endif |