#
# 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_as3_generator.cc \
                  src/thrift/generate/t_c_glib_generator.cc \
                  src/thrift/generate/t_cl_generator.cc \
                  src/thrift/generate/t_cpp_generator.cc \
                  src/thrift/generate/t_csharp_generator.cc \
                  src/thrift/generate/t_d_generator.cc \
                  src/thrift/generate/t_dart_generator.cc \
                  src/thrift/generate/t_delphi_generator.cc \
                  src/thrift/generate/t_erl_generator.cc \
                  src/thrift/generate/t_go_generator.cc \
                  src/thrift/generate/t_gv_generator.cc \
                  src/thrift/generate/t_haxe_generator.cc \
                  src/thrift/generate/t_hs_generator.cc \
                  src/thrift/generate/t_html_generator.cc \
                  src/thrift/generate/t_java_generator.cc \
                  src/thrift/generate/t_javame_generator.cc \
                  src/thrift/generate/t_js_generator.cc \
                  src/thrift/generate/t_json_generator.cc \
                  src/thrift/generate/t_lua_generator.cc \
                  src/thrift/generate/t_netcore_generator.cc \
                  src/thrift/generate/t_netcore_generator.h \
                  src/thrift/generate/t_ocaml_generator.cc \
                  src/thrift/generate/t_perl_generator.cc \
                  src/thrift/generate/t_php_generator.cc \
                  src/thrift/generate/t_py_generator.cc \
                  src/thrift/generate/t_rb_generator.cc \
                  src/thrift/generate/t_rs_generator.cc \
                  src/thrift/generate/t_st_generator.cc \
                  src/thrift/generate/t_swift_generator.cc \
                  src/thrift/generate/t_xml_generator.cc \
                  src/thrift/generate/t_xsd_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)
