blob: 2997cdd5235b03ceb305daf2e543a21551d6bb5e [file] [log] [blame]
temporal40ee5512008-07-10 02:12:20 +00001## Process this file with automake to produce Makefile.in
2
3if GCC
4# These are good warnings to turn on by default
5AM_CXXFLAGS = $(PTHREAD_CFLAGS) -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare
6else
7AM_CXXFLAGS = $(PTHREAD_CFLAGS)
8endif
9
10AM_LDFLAGS = $(PTHREAD_CFLAGS)
11
12# If I say "dist_include_DATA", automake complains that $(includedir) is not
13# a "legitimate" directory for DATA. Screw you, automake.
14protodir = $(includedir)
15nobase_dist_proto_DATA = google/protobuf/descriptor.proto
16
17# Not sure why these don't get cleaned automatically.
18clean-local:
19 rm -f *.loT
20
21CLEANFILES = $(protoc_outputs) unittest_proto_middleman
22
23MAINTAINERCLEANFILES = \
24 Makefile.in
25
26nobase_include_HEADERS = \
27 google/protobuf/stubs/common.h \
28 google/protobuf/descriptor.h \
29 google/protobuf/descriptor.pb.h \
30 google/protobuf/descriptor_database.h \
31 google/protobuf/dynamic_message.h \
32 google/protobuf/extension_set.h \
33 google/protobuf/generated_message_reflection.h \
34 google/protobuf/message.h \
35 google/protobuf/reflection_ops.h \
36 google/protobuf/repeated_field.h \
37 google/protobuf/service.h \
38 google/protobuf/text_format.h \
39 google/protobuf/unknown_field_set.h \
40 google/protobuf/wire_format.h \
41 google/protobuf/wire_format_inl.h \
42 google/protobuf/io/coded_stream.h \
43 google/protobuf/io/printer.h \
44 google/protobuf/io/tokenizer.h \
45 google/protobuf/io/zero_copy_stream.h \
46 google/protobuf/io/zero_copy_stream_impl.h \
47 google/protobuf/compiler/code_generator.h \
48 google/protobuf/compiler/command_line_interface.h \
49 google/protobuf/compiler/importer.h \
50 google/protobuf/compiler/parser.h \
51 google/protobuf/compiler/cpp/cpp_generator.h \
52 google/protobuf/compiler/java/java_generator.h \
53 google/protobuf/compiler/python/python_generator.h
54
55lib_LTLIBRARIES = libprotobuf.la libprotoc.la
56
57libprotobuf_la_LIBADD = $(PTHREAD_LIBS)
58libprotobuf_la_LDFLAGS = -version-info 0:0:0
59libprotobuf_la_SOURCES = \
60 google/protobuf/stubs/common.cc \
61 google/protobuf/stubs/hash.cc \
62 google/protobuf/stubs/hash.h \
63 google/protobuf/stubs/map-util.cc \
64 google/protobuf/stubs/map-util.h \
65 google/protobuf/stubs/stl_util-inl.cc \
66 google/protobuf/stubs/stl_util-inl.h \
67 google/protobuf/stubs/substitute.cc \
68 google/protobuf/stubs/substitute.h \
69 google/protobuf/stubs/strutil.cc \
70 google/protobuf/stubs/strutil.h \
71 google/protobuf/descriptor.cc \
72 google/protobuf/descriptor.pb.cc \
73 google/protobuf/descriptor_database.cc \
74 google/protobuf/dynamic_message.cc \
75 google/protobuf/extension_set.cc \
76 google/protobuf/generated_message_reflection.cc \
77 google/protobuf/message.cc \
78 google/protobuf/reflection_ops.cc \
79 google/protobuf/repeated_field.cc \
80 google/protobuf/service.cc \
81 google/protobuf/text_format.cc \
82 google/protobuf/unknown_field_set.cc \
83 google/protobuf/wire_format.cc \
84 google/protobuf/io/coded_stream.cc \
85 google/protobuf/io/printer.cc \
86 google/protobuf/io/tokenizer.cc \
87 google/protobuf/io/zero_copy_stream.cc \
88 google/protobuf/io/zero_copy_stream_impl.cc \
89 google/protobuf/compiler/importer.cc \
90 google/protobuf/compiler/parser.cc
91
92libprotoc_la_LIBADD = $(PTHREAD_LIBS) libprotobuf.la
93libprotoc_la_LDFLAGS = -version-info 0:0:0
94libprotoc_la_SOURCES = \
95 google/protobuf/compiler/code_generator.cc \
96 google/protobuf/compiler/command_line_interface.cc \
97 google/protobuf/compiler/cpp/cpp_enum.cc \
98 google/protobuf/compiler/cpp/cpp_enum.h \
99 google/protobuf/compiler/cpp/cpp_enum_field.cc \
100 google/protobuf/compiler/cpp/cpp_enum_field.h \
101 google/protobuf/compiler/cpp/cpp_extension.cc \
102 google/protobuf/compiler/cpp/cpp_extension.h \
103 google/protobuf/compiler/cpp/cpp_field.cc \
104 google/protobuf/compiler/cpp/cpp_field.h \
105 google/protobuf/compiler/cpp/cpp_file.cc \
106 google/protobuf/compiler/cpp/cpp_file.h \
107 google/protobuf/compiler/cpp/cpp_generator.cc \
108 google/protobuf/compiler/cpp/cpp_helpers.cc \
109 google/protobuf/compiler/cpp/cpp_helpers.h \
110 google/protobuf/compiler/cpp/cpp_message.cc \
111 google/protobuf/compiler/cpp/cpp_message.h \
112 google/protobuf/compiler/cpp/cpp_message_field.cc \
113 google/protobuf/compiler/cpp/cpp_message_field.h \
114 google/protobuf/compiler/cpp/cpp_primitive_field.cc \
115 google/protobuf/compiler/cpp/cpp_primitive_field.h \
116 google/protobuf/compiler/cpp/cpp_service.cc \
117 google/protobuf/compiler/cpp/cpp_service.h \
118 google/protobuf/compiler/cpp/cpp_string_field.cc \
119 google/protobuf/compiler/cpp/cpp_string_field.h \
120 google/protobuf/compiler/java/java_enum.cc \
121 google/protobuf/compiler/java/java_enum.h \
122 google/protobuf/compiler/java/java_enum_field.cc \
123 google/protobuf/compiler/java/java_enum_field.h \
124 google/protobuf/compiler/java/java_extension.cc \
125 google/protobuf/compiler/java/java_extension.h \
126 google/protobuf/compiler/java/java_field.cc \
127 google/protobuf/compiler/java/java_field.h \
128 google/protobuf/compiler/java/java_file.cc \
129 google/protobuf/compiler/java/java_file.h \
130 google/protobuf/compiler/java/java_generator.cc \
131 google/protobuf/compiler/java/java_helpers.cc \
132 google/protobuf/compiler/java/java_helpers.h \
133 google/protobuf/compiler/java/java_message.cc \
134 google/protobuf/compiler/java/java_message.h \
135 google/protobuf/compiler/java/java_message_field.cc \
136 google/protobuf/compiler/java/java_message_field.h \
137 google/protobuf/compiler/java/java_primitive_field.cc \
138 google/protobuf/compiler/java/java_primitive_field.h \
139 google/protobuf/compiler/java/java_service.cc \
140 google/protobuf/compiler/java/java_service.h \
141 google/protobuf/compiler/python/python_generator.cc
142
143bin_PROGRAMS = protoc
144protoc_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la
145protoc_SOURCES = google/protobuf/compiler/main.cc
146
147# Tests ==============================================================
148
149protoc_inputs = \
150 google/protobuf/unittest.proto \
151 google/protobuf/unittest_import.proto \
152 google/protobuf/unittest_mset.proto \
153 google/protobuf/unittest_optimize_for.proto \
154 google/protobuf/unittest_embed_optimize_for.proto \
155 google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto
156
157EXTRA_DIST = \
158 $(protoc_inputs) \
159 solaris/libstdc++.la \
160 google/protobuf/testdata/golden_message \
161 google/protobuf/testdata/text_format_unittest_data.txt \
162 google/protobuf/testdata/text_format_unittest_extensions_data.txt \
163 google/protobuf/package_info.h \
164 google/protobuf/io/package_info.h \
165 google/protobuf/compiler/package_info.h \
166 gtest/CHANGES \
167 gtest/CONTRIBUTORS \
168 gtest/COPYING \
169 gtest/README \
170 gtest/gen_gtest_pred_impl.py
171
172protoc_outputs = \
173 google/protobuf/unittest.pb.cc \
174 google/protobuf/unittest.pb.h \
175 google/protobuf/unittest_import.pb.cc \
176 google/protobuf/unittest_import.pb.h \
177 google/protobuf/unittest_mset.pb.cc \
178 google/protobuf/unittest_mset.pb.h \
179 google/protobuf/unittest_optimize_for.pb.cc \
180 google/protobuf/unittest_optimize_for.pb.h \
181 google/protobuf/unittest_embed_optimize_for.pb.cc \
182 google/protobuf/unittest_embed_optimize_for.pb.h \
183 google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.cc \
184 google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h
185
186BUILT_SOURCES = $(protoc_outputs)
187
188# This rule is a little weird. The first prereq is the protoc executable
189# and the rest are its inputs. Therefore, $^ -- which expands to the
190# list of prereqs -- is actually a valid command. We have to place "./" in
191# front of it in case protoc is in the current directory. protoc allows
192# flags to appear after input file names, so we happily stick the flags on
193# the end.
194#
195# For reference, if we didn't have to worry about VPATH (i.e., building from
196# a directory other than the package root), we could have just written this:
197# ./protoc$(EXEEXT) -I$(srcdir) --cpp_out=. $(protoc_inputs)
198unittest_proto_middleman: protoc$(EXEEXT) $(protoc_inputs)
199 ./$^ -I$(srcdir) --cpp_out=.
200 touch unittest_proto_middleman
201
202$(protoc_outputs): unittest_proto_middleman
203
204noinst_PROGRAMS = protobuf-test
205protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la
206protobuf_test_SOURCES = \
207 google/protobuf/stubs/common_unittest.cc \
208 google/protobuf/stubs/strutil_unittest.cc \
209 google/protobuf/descriptor_database_unittest.cc \
210 google/protobuf/descriptor_unittest.cc \
211 google/protobuf/dynamic_message_unittest.cc \
212 google/protobuf/extension_set_unittest.cc \
213 google/protobuf/generated_message_reflection_unittest.cc \
214 google/protobuf/message_unittest.cc \
215 google/protobuf/reflection_ops_unittest.cc \
216 google/protobuf/repeated_field_unittest.cc \
217 google/protobuf/text_format_unittest.cc \
218 google/protobuf/unknown_field_set_unittest.cc \
219 google/protobuf/wire_format_unittest.cc \
220 google/protobuf/io/coded_stream_unittest.cc \
221 google/protobuf/io/printer_unittest.cc \
222 google/protobuf/io/tokenizer_unittest.cc \
223 google/protobuf/io/zero_copy_stream_unittest.cc \
224 google/protobuf/compiler/command_line_interface_unittest.cc \
225 google/protobuf/compiler/importer_unittest.cc \
226 google/protobuf/compiler/parser_unittest.cc \
227 google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc \
228 google/protobuf/compiler/cpp/cpp_unittest.cc \
229 google/protobuf/test_util.cc \
230 google/protobuf/test_util.h \
231 google/protobuf/testing/googletest.cc \
232 google/protobuf/testing/googletest.h \
233 google/protobuf/testing/file.cc \
234 google/protobuf/testing/file.h \
235 gtest/gtest.cc \
236 gtest/gtest.h \
237 gtest/gtest-death-test.cc \
238 gtest/gtest-death-test.h \
239 gtest/gtest-filepath.cc \
240 gtest/gtest-internal-inl.h \
241 gtest/gtest-message.h \
242 gtest/gtest-port.cc \
243 gtest/gtest-spi.h \
244 gtest/gtest_main.cc \
245 gtest/gtest_pred_impl.h \
246 gtest/gtest_prod.h \
247 gtest/internal/gtest-death-test-internal.h \
248 gtest/internal/gtest-filepath.h \
249 gtest/internal/gtest-internal.h \
250 gtest/internal/gtest-port.h \
251 gtest/internal/gtest-string.h
252
253nodist_protobuf_test_SOURCES = $(protoc_outputs)
254
255TESTS = protobuf-test