thrift/tutorial/c_glib/Makefile.am
Thomas Petazzoni 1744cdcb67 configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation
The thrift build system currently assumes that the thrift compiler is
always available in $(top_builddir)/compiler/cpp/thrift. However, in a
cross-compilation context, this location contains the thrift compiler
built for the target... which obviously will not run on the build
machine.

In order to support such cross-compilation situation, we introduce the
THRIFT variable as a an argument for the configure script (using
AC_ARG_VAR). If not specified, it defaults to the existing value of
using compiler/cpp/thrift from the build directory, but it can be
overridden when calling ./configure.

Note that $(top_builddir) cannot be used within the configure script,
so we simply use `pwd`, which is the same as the top_builddir.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

This closes #1336
This closes #1350
2017-09-09 07:50:54 -07:00

85 lines
2.5 KiB
Makefile
Executable File

#
# 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 = subdir-objects serial-tests
BUILT_SOURCES = \
gen-c_glib/calculator.h \
gen-c_glib/shared_service.h \
gen-c_glib/shared_types.h \
gen-c_glib/tutorial_types.h
AM_CFLAGS = -g -Wall -Wextra -pedantic $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) $(OPENSSL_INCLUDES) @GCOV_CFLAGS@
AM_CPPFLAGS = -I$(top_srcdir)/lib/c_glib/src -Igen-c_glib
AM_LDFLAGS = $(GLIB_LIBS) $(GOBJECT_LIBS) $(OPENSSL_LDFLAGS) $(OPENSSL_LIBS) @GCOV_LDFLAGS@
noinst_LTLIBRARIES = \
libtutorialgencglib.la
nodist_libtutorialgencglib_la_SOURCES = \
gen-c_glib/calculator.c \
gen-c_glib/calculator.h \
gen-c_glib/shared_service.c \
gen-c_glib/shared_service.h \
gen-c_glib/shared_types.c \
gen-c_glib/shared_types.h \
gen-c_glib/tutorial_types.c \
gen-c_glib/tutorial_types.h
libtutorialgencglib_la_LIBADD = \
$(top_builddir)/lib/c_glib/libthrift_c_glib.la
libtutorialgencglib_la_CFLAGS = \
$(AM_CFLAGS) -Wno-unused-function
noinst_PROGRAMS = \
tutorial_server \
tutorial_client
tutorial_server_SOURCES = \
c_glib_server.c
tutorial_server_LDFLAGS = $(OPENSSL_LIBS)
tutorial_server_LDADD = \
libtutorialgencglib.la \
$(top_builddir)/lib/c_glib/libthrift_c_glib.la
tutorial_client_SOURCES = \
c_glib_client.c
tutorial_client_LDADD = \
libtutorialgencglib.la \
$(top_builddir)/lib/c_glib/libthrift_c_glib.la
gen-c_glib/calculator.c gen-c_glib/calculator.h gen-c_glib/shared_service.c gen-c_glib/shared_service.h gen-c_glib/shared_types.c gen-c_glib/shared_types.h gen-c_glib/tutorial_types.c gen-c_glib/tutorial_types.h: $(top_srcdir)/tutorial/tutorial.thrift
$(THRIFT) --gen c_glib -r $<
clean-local:
$(RM) gen-c_glib/*
tutorialserver: all
./tutorial_server
tutorialclient: all
./tutorial_client
EXTRA_DIST = \
c_glib_server.c \
c_glib_client.c