#
# 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.
#
AUTOMAKE_OPTIONS = serial-tests nostdinc
SUBDIRS = . test

pkgconfigdir = $(libdir)/pkgconfig

lib_LTLIBRARIES = libthrift_c_glib.la
pkgconfig_DATA = thrift_c_glib.pc

AM_CPPFLAGS = -Isrc -I src/thrift/c_glib
AM_CFLAGS = -Wall -Wextra -pedantic

# Define the source files for the module

libthrift_c_glib_la_SOURCES = src/thrift/c_glib/thrift.c \
                              src/thrift/c_glib/thrift_struct.c \
                              src/thrift/c_glib/thrift_application_exception.c \
                              src/thrift/c_glib/thrift_configuration.c \
                              src/thrift/c_glib/processor/thrift_processor.c \
                              src/thrift/c_glib/processor/thrift_dispatch_processor.c \
                              src/thrift/c_glib/processor/thrift_multiplexed_processor.c \
                              src/thrift/c_glib/protocol/thrift_protocol.c \
                              src/thrift/c_glib/protocol/thrift_protocol_decorator.c \
                              src/thrift/c_glib/protocol/thrift_protocol_factory.c \
                              src/thrift/c_glib/protocol/thrift_binary_protocol.c \
                              src/thrift/c_glib/protocol/thrift_stored_message_protocol.c \
                              src/thrift/c_glib/protocol/thrift_multiplexed_protocol.c \
                              src/thrift/c_glib/protocol/thrift_binary_protocol_factory.c \
                              src/thrift/c_glib/protocol/thrift_compact_protocol.c \
                              src/thrift/c_glib/protocol/thrift_compact_protocol_factory.c \
                              src/thrift/c_glib/transport/thrift_transport.c \
                              src/thrift/c_glib/transport/thrift_transport_factory.c \
                              src/thrift/c_glib/transport/thrift_buffered_transport_factory.c \
                              src/thrift/c_glib/transport/thrift_framed_transport_factory.c \
                              src/thrift/c_glib/transport/thrift_zlib_transport_factory.c \
                              src/thrift/c_glib/transport/thrift_socket.c \
                              src/thrift/c_glib/transport/thrift_ssl_socket.c \
                              src/thrift/c_glib/transport/thrift_server_transport.c \
                              src/thrift/c_glib/transport/thrift_server_socket.c \
                              src/thrift/c_glib/transport/thrift_buffered_transport.c \
                              src/thrift/c_glib/transport/thrift_fd_transport.c \
                              src/thrift/c_glib/transport/thrift_framed_transport.c \
                              src/thrift/c_glib/transport/thrift_zlib_transport.c \
                              src/thrift/c_glib/transport/thrift_memory_buffer.c \
                              src/thrift/c_glib/server/thrift_server.c \
                              src/thrift/c_glib/server/thrift_simple_server.c

libthrift_c_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) $(OPENSSL_INCLUDES) -I$(top_builddir)/lib/c_glib/src/thrift
libthrift_c_glib_la_LDFLAGS = $(AM_LDFLAGS) $(GLIB_LIBS) $(GOBJECT_LIBS)  $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS) $(ZLIB_LDFLAGS) $(ZLIB_LIBS)

include_thriftdir = $(includedir)/thrift/c_glib
include_thrift_HEADERS = \
                         $(top_builddir)/config.h \
                         src/thrift/c_glib/thrift.h \
                         src/thrift/c_glib/thrift_application_exception.h \
                         src/thrift/c_glib/thrift_struct.h \
                         src/thrift/c_glib/thrift_configuration.h

include_protocoldir = $(include_thriftdir)/protocol
include_protocol_HEADERS = src/thrift/c_glib/protocol/thrift_protocol.h \
                           src/thrift/c_glib/protocol/thrift_protocol_decorator.h \
                           src/thrift/c_glib/protocol/thrift_protocol_factory.h \
                           src/thrift/c_glib/protocol/thrift_binary_protocol.h \
                           src/thrift/c_glib/protocol/thrift_binary_protocol_factory.h \
                           src/thrift/c_glib/protocol/thrift_compact_protocol.h \
                           src/thrift/c_glib/protocol/thrift_compact_protocol_factory.h \
                           src/thrift/c_glib/protocol/thrift_multiplexed_protocol.h \
                           src/thrift/c_glib/protocol/thrift_stored_message_protocol.h
                           

include_transportdir = $(include_thriftdir)/transport
include_transport_HEADERS = src/thrift/c_glib/transport/thrift_buffered_transport.h \
                            src/thrift/c_glib/transport/thrift_fd_transport.h \
                            src/thrift/c_glib/transport/thrift_framed_transport.h \
                            src/thrift/c_glib/transport/thrift_zlib_transport.h \
                            src/thrift/c_glib/transport/thrift_memory_buffer.h \
                            src/thrift/c_glib/transport/thrift_server_socket.h \
                            src/thrift/c_glib/transport/thrift_server_transport.h \
                            src/thrift/c_glib/transport/thrift_socket.h \
                            src/thrift/c_glib/transport/thrift_platform_socket.h \
                            src/thrift/c_glib/transport/thrift_ssl_socket.h \
                            src/thrift/c_glib/transport/thrift_transport.h \
                            src/thrift/c_glib/transport/thrift_transport_factory.h \
                            src/thrift/c_glib/transport/thrift_buffered_transport_factory.h \
                            src/thrift/c_glib/transport/thrift_framed_transport_factory.h \
                            src/thrift/c_glib/transport/thrift_zlib_transport_factory.h

include_serverdir = $(include_thriftdir)/server
include_server_HEADERS = src/thrift/c_glib/server/thrift_server.h \
                         src/thrift/c_glib/server/thrift_simple_server.h

include_processordir = $(include_thriftdir)/processor
include_processor_HEADERS = src/thrift/c_glib/processor/thrift_processor.h \
                            src/thrift/c_glib/processor/thrift_dispatch_processor.h \
                            src/thrift/c_glib/processor/thrift_multiplexed_processor.h


distdir:
	$(MAKE) $(AM_MAKEFLAGS) distdir-am

EXTRA_DIST = \
             CMakeLists.txt \
             coding_standards.md \
             README.md \
             test/glib.suppress \
             thrift_c_glib.pc.in

CLEANFILES = \
             *.gcno \
             *.gcda
