## Makefile for the gettext-runtime/libasprintf subdirectory of GNU gettext ## Copyright (C) 2002-2007, 2009-2011, 2013, 2016, 2018-2019 Free Software Foundation, Inc. ## ## This program 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. ## ## This program 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 this program. If not, see . ## Process this file with automake to produce Makefile.in. AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies ACLOCAL_AMFLAGS = -I ../../m4 -I ../m4 -I gnulib-m4 EXTRA_DIST = BUILT_SOURCES = MOSTLYCLEANFILES = RM = rm -f DEFS = -DIN_LIBASPRINTF @DEFS@ if WOE32 # On mingw, disable the declarations of *printf functions as aliases to the # corresponding __mingw_*printf functions, because # - these functions are useless for i18n purposes (not POSIX/XSI compliant), # - they pull in a dependency to the libgcc_s_sjlj DLL (through the symbols # __udivdi3, __umoddi3). DEFS += -D__USE_MINGW_ANSI_STDIO=0 endif # Library include file. include_HEADERS = autosprintf.h all-local $(libasprintf_la_OBJECTS): autosprintf.h autosprintf.h: autosprintf.in.h cp $(srcdir)/autosprintf.in.h autosprintf.h MOSTLYCLEANFILES += autosprintf.h EXTRA_DIST += autosprintf.in.h dist-hook: rm -f $(distdir)/autosprintf.h # Library code. lib_LTLIBRARIES = libasprintf.la noinst_LTLIBRARIES = libasprintf_la_SOURCES = \ xsize.h xsize.c \ lib-asprintf.h lib-asprintf.c \ autosprintf.h autosprintf.cc # Sources used only on platforms lacking vasprintf(). lib_asprintf_EXTRASOURCES = \ verify.h \ printf-args.h printf-args.c \ printf-parse.h printf-parse.c \ vasnprintf.h vasnprintf.c asnprintf.c \ vasprintf.h vasprintf.c asprintf.c lib-asprintf.lo: $(lib_asprintf_EXTRASOURCES) EXTRA_DIST += $(lib_asprintf_EXTRASOURCES) # Version information according to Woe32 conventions. EXTRA_DIST += libasprintf.rc if WOE32 WOE32_LIBADD = libasprintf.res.lo # This rule is executed only on Woe32 systems. # Use $(RC) with libtool, $(WINDRES) when not using libtool. # The following sed expressions come from the windres-options script. They are # inlined here, so that they can be written in a Makefile without requiring a # temporary file. They must contain literal newlines rather than semicolons, # so that they work with the sed-3.02 that is shipped with MSYS. libasprintf.res.lo: $(srcdir)/libasprintf.rc nlinit=`echo 'nl="'; echo '"'`; eval "$$nlinit"; \ sed_extract_major='/^[0-9]/{'$${nl}'s/^\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ $(LIBTOOL) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) \ "-DPACKAGE_VERSION_STRING=\\\"$(VERSION)\\\"" \ "-DPACKAGE_VERSION_MAJOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_major"` \ "-DPACKAGE_VERSION_MINOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_minor"` \ "-DPACKAGE_VERSION_SUBMINOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_subminor"` \ -i $(srcdir)/libasprintf.rc -o libasprintf.res.lo --output-format=coff MOSTLYCLEANFILES += libasprintf.res.lo else WOE32_LIBADD = endif libasprintf_la_LIBADD = $(WOE32_LIBADD) libasprintf_la_DEPENDENCIES = $(WOE32_LIBADD) # How to build libasprintf. # With libtool 1.5.14, on some platforms, like BeOS, "libtool --tag=CXX" fails # to create a shared library, however "libtool --tag=CC" succeeds. libasprintf_la_LDFLAGS = @LTNOUNDEF@ libasprintf.la: $(libasprintf_la_OBJECTS) $(libasprintf_la_DEPENDENCIES) $(AM_V_GEN)$(CXXLINK) -rpath $(libdir) $(libasprintf_la_LDFLAGS) $(libasprintf_la_OBJECTS) $(libasprintf_la_LIBADD) $(LIBS) || \ $(LINK) -rpath $(libdir) $(libasprintf_la_LDFLAGS) $(libasprintf_la_OBJECTS) $(libasprintf_la_LIBADD) $(LIBS) # A small set of gnulib modules is needed here as well. include Makefile.gnulib # Allow users to use "gnulib-tool --update". EXTRA_DIST += gnulib-m4/gnulib-cache.m4 # Clean up after Solaris cc. clean-local: rm -rf SunWS_cache # Documentation. # List of -I options referring to directories that contain texinfo sources # used by this directory. # Should contain at least one -I option, to work around a bug in texi2dvi 1.13, # see . TEXINCLUDES = -I . MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ MAKEINFOFLAGS = $(TEXINCLUDES) --no-split info_TEXINFOS = autosprintf.texi # List of texinfo sources @included by autosprintf.texi. autosprintf_TEXINFOS = lgpl.texi gpl.texi fdl.texi # We distribute only the HTML documentation. # The user can generate the others, via # make autosprintf.ps # make autosprintf.pdf all-local: html-local install-data-local: install-html installdirs-local: installdirs-html uninstall-local: uninstall-html # CLEANFILES: autosprintf.{dvi,ps,pdf,html} are already known to automake. # Documentation in DVI format. # The install-dvi target is already defined by automake. installdirs-dvi: $(MKDIR_P) $(DESTDIR)$(dvidir) uninstall-dvi: $(RM) $(DESTDIR)$(dvidir)/autosprintf.dvi # Temporary index files. automake removes only the predefined ones by itself. MOSTLYCLEANFILES += # Documentation in Postscript format. # Override of automake's definition: #DVIPS = @DVIPS@ DVIPS = @DVIPS@ -D600 autosprintf.ps: autosprintf.dvi $(DVIPS) -o $@ `if test -f autosprintf.dvi; then echo autosprintf.dvi; else echo $(srcdir)/autosprintf.dvi; fi` # The install-ps target is already defined by automake. installdirs-ps: $(MKDIR_P) $(DESTDIR)$(psdir) uninstall-ps: $(RM) $(DESTDIR)$(psdir)/autosprintf.ps # Documentation in Portable Document Format. # The install-pdf target is already defined by automake. installdirs-pdf: $(MKDIR_P) $(DESTDIR)$(pdfdir) uninstall-pdf: $(RM) $(DESTDIR)$(pdfdir)/autosprintf.pdf # Documentation in HTML format. TEXI2HTML = @PERL@ $(top_srcdir)/../../build-aux/texi2html HTMLS = autosprintf_all.html html-local: $(HTMLS) # Override of automake's definition. # We want to use texi2html, not makeinfo --html. autosprintf_all.html: autosprintf.texi $(autosprintf_TEXINFOS) $(TEXI2HTML) $(TEXINCLUDES) -no-sec-nav -no-menu -toc-links -number -monolithic $(srcdir)/autosprintf.texi mv autosprintf.html autosprintf_all.html # The install-html target is already defined by automake. installdirs-html: $(MKDIR_P) $(DESTDIR)$(htmldir) uninstall-html: $(RM) $(DESTDIR)$(htmldir)/autosprintf.html EXTRA_DIST += autosprintf_all.html # Windows support. EXTRA_DIST += INSTALL.windows