Home | History | Annotate | Download | only in benchmarks
      1 
      2 benchmarks_protoc_inputs =                                     \
      3   benchmarks.proto                                             \
      4   benchmark_messages_proto3.proto
      5 
      6 benchmarks_protoc_inputs_proto2 =                              \
      7   benchmark_messages_proto2.proto
      8 
      9 benchmarks_protoc_outputs =                                    \
     10   benchmarks.pb.cc                                             \
     11   benchmarks.pb.h                                              \
     12   benchmark_messages_proto3.pb.cc                              \
     13   benchmark_messages_proto3.pb.h
     14 
     15 benchmarks_protoc_outputs_proto2 =                             \
     16   benchmark_messages_proto2.pb.cc                              \
     17   benchmark_messages_proto2.pb.h
     18 
     19 bin_PROGRAMS = generate-datasets
     20 
     21 generate_datasets_LDADD = $(top_srcdir)/src/libprotobuf.la
     22 generate_datasets_SOURCES = generate_datasets.cc
     23 generate_datasets_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir)
     24 nodist_generate_datasets_SOURCES =                             \
     25   $(benchmarks_protoc_outputs)                                 \
     26   $(benchmarks_protoc_outputs_proto2)
     27 
     28 # Explicit deps because BUILT_SOURCES are only done before a "make all/check"
     29 # so a direct "make test_cpp" could fail if parallel enough.
     30 # See: https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Recording-Dependencies-manually
     31 generate_datasets-generate_datasets.$(OBJEXT): benchmarks.pb.h
     32 
     33 $(benchmarks_protoc_outputs): protoc_middleman
     34 $(benchmarks_protoc_outputs_proto2): protoc_middleman2
     35 
     36 CLEANFILES =                                                   \
     37   $(benchmarks_protoc_outputs)                                 \
     38   $(benchmarks_protoc_outputs_proto2)                          \
     39   protoc_middleman                                             \
     40   protoc_middleman2                                            \
     41   dataset.*
     42 
     43 MAINTAINERCLEANFILES =   \
     44   Makefile.in
     45 
     46 if USE_EXTERNAL_PROTOC
     47 
     48 protoc_middleman: $(benchmarks_protoc_inputs)
     49 	$(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. $(benchmarks_protoc_inputs)
     50 	touch protoc_middleman
     51 
     52 protoc_middleman2: $(benchmarks_protoc_inputs_proto2)
     53 	$(PROTOC) -I$(srcdir) -I$(top_srcdir) --cpp_out=. $(benchmarks_protoc_inputs_proto2)
     54 	touch protoc_middleman2
     55 
     56 else
     57 
     58 # We have to cd to $(srcdir) before executing protoc because $(protoc_inputs) is
     59 # relative to srcdir, which may not be the same as the current directory when
     60 # building out-of-tree.
     61 protoc_middleman: $(top_srcdir)/src/protoc$(EXEEXT) $(benchmarks_protoc_inputs) $(well_known_type_protoc_inputs)
     62 	oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd $(benchmarks_protoc_inputs) )
     63 	touch protoc_middleman
     64 
     65 protoc_middleman2: $(top_srcdir)/src/protoc$(EXEEXT) $(benchmarks_protoc_inputs_proto2) $(well_known_type_protoc_inputs)
     66 	oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/../src/protoc$(EXEEXT) -I. -I$(top_srcdir)/src --cpp_out=$$oldpwd $(benchmarks_protoc_inputs_proto2) )
     67 	touch protoc_middleman
     68 
     69 endif
     70