#
# 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.
#

moc_%.cpp: %.h
	$(QT_MOC) $(QT_CFLAGS) $< -o $@

SUBDIRS = .

if WITH_TESTS
SUBDIRS += test
endif

pkgconfigdir = $(libdir)/pkgconfig

lib_LTLIBRARIES = libthrift.la
pkgconfig_DATA = thrift.pc
libthrift_la_LDFLAGS = -release $(VERSION) $(BOOST_LDFLAGS)

## We only build the extra libraries if we have the dependencies,
## but we install all of the headers unconditionally.
if AMX_HAVE_LIBEVENT
lib_LTLIBRARIES += libthriftnb.la
pkgconfig_DATA += thrift-nb.pc
endif
if AMX_HAVE_ZLIB
lib_LTLIBRARIES += libthriftz.la
pkgconfig_DATA += thrift-z.pc
endif
if AMX_HAVE_QT
lib_LTLIBRARIES += libthriftqt.la
pkgconfig_DATA += thrift-qt.pc
endif

AM_CXXFLAGS = -Wall
AM_CPPFLAGS = $(BOOST_CPPFLAGS) -I$(srcdir)/src
AM_LDFLAGS = $(BOOST_LDFLAGS)

# Define the source files for the module

libthrift_la_SOURCES = src/Thrift.cpp \
                       src/TApplicationException.cpp \
                       src/VirtualProfiling.cpp \
                       src/concurrency/ThreadManager.cpp \
                       src/concurrency/TimerManager.cpp \
                       src/concurrency/Util.cpp \
                       src/protocol/TDebugProtocol.cpp \
                       src/protocol/TDenseProtocol.cpp \
                       src/protocol/TJSONProtocol.cpp \
                       src/protocol/TBase64Utils.cpp \
                       src/transport/TTransportException.cpp \
                       src/transport/TFDTransport.cpp \
                       src/transport/TFileTransport.cpp \
                       src/transport/TSimpleFileTransport.cpp \
                       src/transport/THttpTransport.cpp \
                       src/transport/THttpClient.cpp \
                       src/transport/THttpServer.cpp \
                       src/transport/TSocket.cpp \
                       src/transport/TSSLSocket.cpp \
                       src/transport/TSocketPool.cpp \
                       src/transport/TServerSocket.cpp \
                       src/transport/TSSLServerSocket.cpp \
                       src/transport/TTransportUtils.cpp \
                       src/transport/TBufferTransports.cpp \
                       src/server/TServer.cpp \
                       src/server/TSimpleServer.cpp \
                       src/server/TThreadPoolServer.cpp \
                       src/server/TThreadedServer.cpp \
                       src/async/TAsyncChannel.cpp \
                       src/processor/PeekProcessor.cpp

if WITH_BOOSTTHREADS
libthrift_la_SOURCES += src/concurrency/BoostThreadFactory.cpp \
                        src/concurrency/BoostMonitor.cpp \
                        src/concurrency/BoostMutex.cpp
else
libthrift_la_SOURCES += src/concurrency/Mutex.cpp \
                        src/concurrency/Monitor.cpp \
                        src/concurrency/PosixThreadFactory.cpp
endif

libthriftnb_la_SOURCES = src/server/TNonblockingServer.cpp \
                         src/async/TAsyncProtocolProcessor.cpp \
                         src/async/TEvhttpServer.cpp \
                         src/async/TEvhttpClientChannel.cpp 

libthriftz_la_SOURCES = src/transport/TZlibTransport.cpp

libthriftqt_la_MOC = src/qt/moc_TQTcpServer.cpp
libthriftqt_la_SOURCES = $(libthriftqt_la_MOC) \
                         src/qt/TQIODeviceTransport.cpp \
                         src/qt/TQTcpServer.cpp
CLEANFILES = $(libthriftqt_la_MOC)

# Flags for the various libraries
libthriftnb_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBEVENT_CPPFLAGS)
libthriftz_la_CPPFLAGS  = $(AM_CPPFLAGS) $(ZLIB_CPPFLAGS)
libthriftqt_la_CPPFLAGS = $(AM_CPPFLAGS) $(QT_CFLAGS)
libthriftnb_la_CXXFLAGS = $(AM_CXXFLAGS)
libthriftz_la_CXXFLAGS  = $(AM_CXXFLAGS)
libthriftqt_la_CXXFLAGS  = $(AM_CXXFLAGS)
libthriftnb_la_LDFLAGS  = -release $(VERSION) $(BOOST_LDFLAGS)
libthriftz_la_LDFLAGS   = -release $(VERSION) $(BOOST_LDFLAGS)
libthriftqt_la_LDFLAGS   = -release $(VERSION) $(BOOST_LDFLAGS) $(QT_LIBS)

include_thriftdir = $(includedir)/thrift
include_thrift_HEADERS = \
                         $(top_builddir)/config.h \
                         src/TDispatchProcessor.h \
                         src/Thrift.h \
                         src/TReflectionLocal.h \
                         src/TProcessor.h \
                         src/TApplicationException.h \
                         src/TLogging.h

include_concurrencydir = $(include_thriftdir)/concurrency
include_concurrency_HEADERS = \
                         src/concurrency/BoostThreadFactory.h \
                         src/concurrency/Exception.h \
                         src/concurrency/Mutex.h \
                         src/concurrency/Monitor.h \
                         src/concurrency/PlatformThreadFactory.h \
                         src/concurrency/PosixThreadFactory.h \
                         src/concurrency/Thread.h \
                         src/concurrency/ThreadManager.h \
                         src/concurrency/TimerManager.h \
                         src/concurrency/FunctionRunner.h \
                         src/concurrency/Util.h

include_protocoldir = $(include_thriftdir)/protocol
include_protocol_HEADERS = \
                         src/protocol/TBinaryProtocol.h \
                         src/protocol/TBinaryProtocol.tcc \
                         src/protocol/TCompactProtocol.h \
                         src/protocol/TCompactProtocol.tcc \
                         src/protocol/TDenseProtocol.h \
                         src/protocol/TDebugProtocol.h \
                         src/protocol/TBase64Utils.h \
                         src/protocol/TJSONProtocol.h \
                         src/protocol/TProtocolTap.h \
                         src/protocol/TProtocolException.h \
                         src/protocol/TVirtualProtocol.h \
                         src/protocol/TProtocol.h

include_transportdir = $(include_thriftdir)/transport
include_transport_HEADERS = \
                         src/transport/TFDTransport.h \
                         src/transport/TFileTransport.h \
                         src/transport/TSimpleFileTransport.h \
                         src/transport/TServerSocket.h \
                         src/transport/TSSLServerSocket.h \
                         src/transport/TServerTransport.h \
                         src/transport/THttpTransport.h \
                         src/transport/THttpClient.h \
                         src/transport/THttpServer.h \
                         src/transport/TSocket.h \
                         src/transport/TSSLSocket.h \
                         src/transport/TSocketPool.h \
                         src/transport/TVirtualTransport.h \
                         src/transport/TTransport.h \
                         src/transport/TTransportException.h \
                         src/transport/TTransportUtils.h \
                         src/transport/TBufferTransports.h \
                         src/transport/TShortReadTransport.h \
                         src/transport/TZlibTransport.h

include_serverdir = $(include_thriftdir)/server
include_server_HEADERS = \
                         src/server/TServer.h \
                         src/server/TSimpleServer.h \
                         src/server/TThreadPoolServer.h \
                         src/server/TThreadedServer.h \
                         src/server/TNonblockingServer.h

include_processordir = $(include_thriftdir)/processor
include_processor_HEADERS = \
                         src/processor/PeekProcessor.h \
                         src/processor/StatsProcessor.h

include_asyncdir = $(include_thriftdir)/async
include_async_HEADERS = \
                     src/async/TAsyncChannel.h \
                     src/async/TAsyncDispatchProcessor.h \
                     src/async/TAsyncProcessor.h \
                     src/async/TAsyncBufferProcessor.h \
                     src/async/TAsyncProtocolProcessor.h \
                     src/async/TEvhttpClientChannel.h \
                     src/async/TEvhttpServer.h

include_qtdir = $(include_thriftdir)/qt
include_qt_HEADERS = \
                  src/qt/TQIODeviceTransport.h \
                  src/qt/TQTcpServer.h


noinst_PROGRAMS = concurrency_test

concurrency_test_SOURCES = \
                           src/concurrency/test/Tests.cpp \
                           src/concurrency/test/ThreadFactoryTests.h \
                           src/concurrency/test/ThreadManagerTests.h \
                           src/concurrency/test/TimerManagerTests.h

concurrency_test_LDADD = libthrift.la

WINDOWS_DIST = \
             README_WINDOWS \
             src/windows \
             thrift.sln \
             libthrift.vcxproj \
             libthrift.vcxproj.filters \
             libthriftnb.vcxproj \
             libthriftnb.vcxproj.filters

EXTRA_DIST = \
             README \
             README.SSL \
             thrift-nb.pc.in \
             thrift.pc.in \
             thrift-z.pc.in \
             thrift-qt.pc.in \
             $(WINDOWS_DIST)
