# GnuTLS --- Guile bindings for GnuTLS. # Copyright (C) 2007-2014, 2016 Free Software Foundation, Inc. # # GnuTLS is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # GnuTLS is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with GnuTLS; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA GUILE_FOR_BUILD = \ GUILE_AUTO_COMPILE=0 $(GUILE) -L $(top_srcdir)/guile/modules noinst_HEADERS = errors.h utils.h EXTRA_DIST = \ make-enum-map.scm make-smob-types.scm \ make-enum-header.scm make-smob-header.scm # Files generated by the (gnutls build ...) modules. GENERATED_BINDINGS = \ enum-map.i.c smob-types.i.c enums.h smobs.h BUILT_SOURCES = \ $(GENERATED_BINDINGS) \ core.x errors.x CLEANFILES = $(BUILT_SOURCES) guileextension_LTLIBRARIES = guile-gnutls-v-2.la # Use '-module' to build a "dlopenable module", in Libtool terms. # Use '-undefined' to placate Libtool on Windows; see # . guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined # Linking against GnuTLS. GNUTLS_CORE_LIBS = $(top_builddir)/lib/libgnutls.la # Linking against Gnulib modules. GNULIB_LIBS = $(top_builddir)/gl/libgnu.la GNULIB_CFLAGS = -I$(top_builddir)/gl -I$(top_srcdir)/gl guile_gnutls_v_2_la_SOURCES = core.c errors.c utils.c guile_gnutls_v_2_la_CFLAGS = \ $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) guile_gnutls_v_2_la_LIBADD = \ $(GNUTLS_CORE_LIBS) $(GNULIB_LIBS) \ $(GUILE_LDFLAGS) AM_CPPFLAGS = \ -I$(top_srcdir)/lib/includes \ -I$(top_builddir)/lib/includes \ -I$(top_srcdir)/extra/includes \ -I$(top_builddir) \ -I$(builddir) if HAVE_GCC AM_CFLAGS = -Wall -Wextra # Generated `.x' files and Guile's `scm_c_define_gsubr ()' require # `-Wno-strict-prototypes'. This trick makes sure `-Wno-s-p' appears # after `-Ws-p'. AM_CFLAGS += -Wno-strict-prototypes # Functions generated from 'SCM_SMOB_PRINT' & co. typically have # unused parameters. AM_CFLAGS += -Wno-unused-parameter # The `-fgnu89-inline' option appeared in GCC 4.1.3. if HAVE_GCC_GNU89_INLINE_OPTION # Guile and GMP currently rely on GNU inline semantics, not C99 inline. AM_CFLAGS += -fgnu89-inline endif HAVE_GCC_GNU89_INLINE_OPTION endif HAVE_GCC enums.h: $(srcdir)/make-enum-header.scm $(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp" $(AM_V_at)mv "$@.tmp" "$@" enum-map.i.c: $(srcdir)/make-enum-map.scm $(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp" $(AM_V_at)mv "$@.tmp" "$@" smobs.h: $(srcdir)/make-smob-header.scm $(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp" $(AM_V_at)mv "$@.tmp" "$@" smob-types.i.c: $(srcdir)/make-smob-types.scm $(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp" $(AM_V_at)mv "$@.tmp" "$@" # C file snarfing. # `$(GUILE_CFLAGS)' may contain a series of `-I' switches so it must be # included here, even though we'd really want `$(GUILE_CPPFLAGS)'. snarfcppopts = $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(CFLAGS) $(guile_gnutls_v_2_la_CFLAGS) # Note: we cannot use the portable ".c.x" form, since that leads # prerequisites to be ignored: # . %.x: %.c $(GENERATED_BINDINGS) $(AM_V_GEN)$(guile_snarf) -o $@ $< $(snarfcppopts) # Target used by doc/Makefile, to create all built sources necessary # for generating the manual. .PHONY: built-sources built-sources: $(BUILT_SOURCES)