blob: 0b8ef2e7e19e3685eb72d467d75e0382eaaa59db [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
# Contains some contributions under the Thrift Software License.
# Please see doc/old-thrift-license.txt in the Thrift distribution for
# details.
AUTOMAKE_OPTIONS = subdir-objects
# Note on why we have src/thrift and src/thrift/plugin directories:
# Since Automake supports only one set of BUILT_SOURCES per file and does not allow
# SUBDIRS built before BUILT_SOURCES, we end up separate Makefile.am for each source
# code generation, i.e. lex-yacc and Thrift, to achieve stable parallel make.
SUBDIRS = src src/thrift/plugin .
if WITH_TESTS
SUBDIRS += test
endif
bin_PROGRAMS = thrift
thrift_OBJDIR = obj
plugin_gen = src/thrift/plugin/plugin_types.h \
src/thrift/plugin/plugin_types.cpp \
src/thrift/plugin/plugin_constants.h \
src/thrift/plugin/plugin_constants.cpp
compiler_core = src/thrift/common.h \
src/thrift/common.cc \
src/thrift/generate/t_generator.cc \
src/thrift/generate/t_generator_registry.h \
src/thrift/globals.h \
src/thrift/platform.h \
src/thrift/logging.h \
src/thrift/parse/t_doc.h \
src/thrift/parse/t_type.h \
src/thrift/parse/t_base_type.h \
src/thrift/parse/t_enum.h \
src/thrift/parse/t_enum_value.h \
src/thrift/parse/t_typedef.h \
src/thrift/parse/t_typedef.cc \
src/thrift/parse/t_container.h \
src/thrift/parse/t_list.h \
src/thrift/parse/t_set.h \
src/thrift/parse/t_map.h \
src/thrift/parse/t_struct.h \
src/thrift/parse/t_field.h \
src/thrift/parse/t_service.h \
src/thrift/parse/t_function.h \
src/thrift/parse/t_program.h \
src/thrift/parse/t_scope.h \
src/thrift/parse/t_const.h \
src/thrift/parse/t_const_value.h \
src/thrift/parse/parse.cc \
src/thrift/generate/t_generator.h \
src/thrift/generate/t_oop_generator.h \
src/thrift/generate/t_html_generator.h
thrift_SOURCES = src/thrift/main.h \
src/thrift/main.cc \
src/thrift/audit/t_audit.cpp \
src/thrift/audit/t_audit.h
# Specific client generator source
thrift_SOURCES += src/thrift/generate/t_c_glib_generator.cc \
src/thrift/generate/t_cpp_generator.cc \
src/thrift/generate/t_java_generator.cc \
src/thrift/generate/t_json_generator.cc \
src/thrift/generate/t_as3_generator.cc \
src/thrift/generate/t_dart_generator.cc \
src/thrift/generate/t_haxe_generator.cc \
src/thrift/generate/t_csharp_generator.cc \
src/thrift/generate/t_netcore_generator.cc \
src/thrift/generate/t_netcore_generator.h \
src/thrift/generate/t_py_generator.cc \
src/thrift/generate/t_rb_generator.cc \
src/thrift/generate/t_perl_generator.cc \
src/thrift/generate/t_php_generator.cc \
src/thrift/generate/t_erl_generator.cc \
src/thrift/generate/t_cocoa_generator.cc \
src/thrift/generate/t_swift_generator.cc \
src/thrift/generate/t_st_generator.cc \
src/thrift/generate/t_ocaml_generator.cc \
src/thrift/generate/t_hs_generator.cc \
src/thrift/generate/t_xsd_generator.cc \
src/thrift/generate/t_xml_generator.cc \
src/thrift/generate/t_html_generator.cc \
src/thrift/generate/t_js_generator.cc \
src/thrift/generate/t_javame_generator.cc \
src/thrift/generate/t_delphi_generator.cc \
src/thrift/generate/t_go_generator.cc \
src/thrift/generate/t_gv_generator.cc \
src/thrift/generate/t_d_generator.cc \
src/thrift/generate/t_lua_generator.cc \
src/thrift/generate/t_rs_generator.cc \
src/thrift/generate/t_cl_generator.cc
thrift_CPPFLAGS = -I$(srcdir)/src
thrift_CXXFLAGS = -Wall -Wextra -pedantic -Werror
thrift_LDADD = @LEXLIB@ src/thrift/libparse.a
if !WITH_PLUGIN
thrift_SOURCES += $(compiler_core)
else
lib_LTLIBRARIES = libthriftc.la
thrift_CPPFLAGS += -DTHRIFT_ENABLE_PLUGIN=1
thrift_LDADD += libthriftc.la
nodist_libthriftc_la_SOURCES = $(plugin_gen)
libthriftc_la_SOURCES = $(compiler_core) \
src/thrift/plugin/type_util.h \
src/thrift/plugin/plugin.h \
src/thrift/plugin/plugin.cc \
src/thrift/plugin/plugin_output.h \
src/thrift/plugin/plugin_output.cc \
src/thrift/plugin/plugin.thrift \
src/thrift/logging.cc
libthriftc_la_CPPFLAGS = -I$(srcdir)/src -Isrc -I$(top_builddir)/lib/cpp/src -DTHRIFT_ENABLE_PLUGIN=1
libthriftc_la_CXXFLAGS = -Wall -Wextra -pedantic
libthriftc_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
include_thriftdir = $(includedir)/thrift
include_thrift_HEADERS = src/thrift/common.h \
src/thrift/globals.h \
src/thrift/logging.h \
src/thrift/main.h \
src/thrift/platform.h \
src/thrift/version.h
include_auditdir = $(include_thriftdir)/windows
include_audit_HEADERS = src/thrift/audit/t_audit.h
include_generatedir = $(include_thriftdir)/generate
include_generate_HEADERS = src/thrift/generate/t_generator.h \
src/thrift/generate/t_generator_registry.h \
src/thrift/generate/t_oop_generator.h \
src/thrift/generate/t_html_generator.h
include_parsedir = $(include_thriftdir)/parse
include_parse_HEADERS = src/thrift/parse/t_service.h \
src/thrift/parse/t_program.h \
src/thrift/parse/t_field.h \
src/thrift/parse/t_scope.h \
src/thrift/parse/t_typedef.h \
src/thrift/parse/t_set.h \
src/thrift/parse/t_const_value.h \
src/thrift/parse/t_enum_value.h \
src/thrift/parse/t_const.h \
src/thrift/parse/t_list.h \
src/thrift/parse/t_map.h \
src/thrift/parse/t_container.h \
src/thrift/parse/t_base_type.h \
src/thrift/parse/t_enum.h \
src/thrift/parse/t_function.h \
src/thrift/parse/t_type.h \
src/thrift/parse/t_doc.h \
src/thrift/parse/t_struct.h
include_plugindir = $(include_thriftdir)/plugin
include_plugin_HEADERS = src/thrift/plugin/plugin.h \
src/thrift/plugin/type_util.h \
src/thrift/plugin/plugin_output.h
include_windowsdir = $(include_thriftdir)/windows
include_windows_HEADERS = src/thrift/windows/config.h
endif
WINDOWS_DIST = \
compiler.sln \
compiler.vcxproj \
compiler.vcxproj.filters
EXTRA_DIST = \
coding_standards.md \
README.md \
CMakeLists.txt \
test \
$(WINDOWS_DIST)
clean-local:
$(RM) version.h $(plugin_gen)
src/thrift/main.cc: src/thrift/version.h
style-local:
$(CPPSTYLE_CMD)