1#
2# Licensed to the Apache Software Foundation (ASF) under one
3# or more contributor license agreements. See the NOTICE file
4# distributed with this work for additional information
5# regarding copyright ownership. The ASF licenses this file
6# to you under the Apache License, Version 2.0 (the
7# "License"); you may not use this file except in compliance
8# with the License. You may obtain a copy of the License at
9#
10#   http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing,
13# software distributed under the License is distributed on an
14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15# KIND, either express or implied. See the License for the
16# specific language governing permissions and limitations
17# under the License.
18#
19#
20# Contains some contributions under the Thrift Software License.
21# Please see doc/old-thrift-license.txt in the Thrift distribution for
22# details.
23
24AUTOMAKE_OPTIONS = subdir-objects nostdinc
25
26SUBDIRS = src .
27if WITH_TESTS
28SUBDIRS += test
29endif
30
31bin_PROGRAMS = thrift
32
33thrift_OBJDIR = obj
34
35thrift_SOURCES = src/thrift/audit/t_audit.cpp \
36                 src/thrift/audit/t_audit.h \
37                 src/thrift/common.cc \
38                 src/thrift/common.h \
39                 src/thrift/generate/t_generator.cc \
40                 src/thrift/generate/t_generator.h \
41                 src/thrift/generate/t_generator_registry.h \
42                 src/thrift/generate/t_html_generator.h \
43                 src/thrift/generate/t_oop_generator.h \
44                 src/thrift/globals.h \
45                 src/thrift/logging.h \
46                 src/thrift/main.cc \
47                 src/thrift/main.h \
48                 src/thrift/version.h \
49                 src/thrift/parse/parse.cc \
50                 src/thrift/parse/t_base_type.h \
51                 src/thrift/parse/t_const.h \
52                 src/thrift/parse/t_const_value.h \
53                 src/thrift/parse/t_container.h \
54                 src/thrift/parse/t_doc.h \
55                 src/thrift/parse/t_enum.h \
56                 src/thrift/parse/t_enum_value.h \
57                 src/thrift/parse/t_field.h \
58                 src/thrift/parse/t_function.h \
59                 src/thrift/parse/t_list.h \
60                 src/thrift/parse/t_map.h \
61                 src/thrift/parse/t_program.h \
62                 src/thrift/parse/t_scope.h \
63                 src/thrift/parse/t_service.h \
64                 src/thrift/parse/t_set.h \
65                 src/thrift/parse/t_struct.h \
66                 src/thrift/parse/t_type.h \
67                 src/thrift/parse/t_typedef.cc \
68                 src/thrift/parse/t_typedef.h \
69                 src/thrift/platform.h
70
71# Specific client generator source
72thrift_SOURCES += src/thrift/generate/t_as3_generator.cc \
73                  src/thrift/generate/t_c_glib_generator.cc \
74                  src/thrift/generate/t_cl_generator.cc \
75                  src/thrift/generate/t_cpp_generator.cc \
76                  src/thrift/generate/t_d_generator.cc \
77                  src/thrift/generate/t_dart_generator.cc \
78                  src/thrift/generate/t_delphi_generator.cc \
79                  src/thrift/generate/t_erl_generator.cc \
80                  src/thrift/generate/t_go_generator.cc \
81                  src/thrift/generate/t_gv_generator.cc \
82                  src/thrift/generate/t_haxe_generator.cc \
83                  src/thrift/generate/t_hs_generator.cc \
84                  src/thrift/generate/t_html_generator.cc \
85                  src/thrift/generate/t_markdown_generator.cc \
86                  src/thrift/generate/t_java_generator.cc \
87                  src/thrift/generate/t_javame_generator.cc \
88                  src/thrift/generate/t_js_generator.cc \
89                  src/thrift/generate/t_json_generator.cc \
90                  src/thrift/generate/t_lua_generator.cc \
91                  src/thrift/generate/t_netstd_generator.cc \
92                  src/thrift/generate/t_netstd_generator.h \
93                  src/thrift/generate/t_ocaml_generator.cc \
94                  src/thrift/generate/t_perl_generator.cc \
95                  src/thrift/generate/t_php_generator.cc \
96                  src/thrift/generate/t_py_generator.cc \
97                  src/thrift/generate/t_rb_generator.cc \
98                  src/thrift/generate/t_rs_generator.cc \
99                  src/thrift/generate/t_st_generator.cc \
100                  src/thrift/generate/t_swift_generator.cc \
101                  src/thrift/generate/t_xml_generator.cc \
102                  src/thrift/generate/t_xsd_generator.cc
103
104thrift_CPPFLAGS = -I$(srcdir)/src
105thrift_CXXFLAGS = -Wall -Wextra -pedantic
106thrift_LDADD = @LEXLIB@ src/thrift/libparse.a
107
108WINDOWS_DIST = \
109             compiler.sln \
110             compiler.vcxproj \
111             compiler.vcxproj.filters
112
113EXTRA_DIST = \
114             coding_standards.md \
115             README.md \
116             CMakeLists.txt \
117             test \
118             tests \
119             $(WINDOWS_DIST)
120
121#clean-local:
122#	$(RM) version.h   -- do not delete, we need it
123
124src/thrift/main.cc: src/thrift/version.h
125
126style-local:
127	$(CPPSTYLE_CMD)
128