## Copyright (c) 2009 Openismus GmbH
##
## This file is part of mm-common.
##
## mm-common is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published
## by the Free Software Foundation, either version 2 of the License,
## or (at your option) any later version.
##
## mm-common 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 General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with mm-common. If not, see .
# Pick up aclocal flags from the environment.
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
bin_SCRIPTS = util/mm-common-prepare
man1_MANS = util/mm-common-prepare.1
# These are installed so that mm-common-prepare can copy them
# into projects at autogen.sh time:
build_supportdir = $(pkgdatadir)/build
dist_build_support_DATA = \
build/compile-binding.am \
build/dist-changelog.am \
build/doc-reference.am \
build/generate-binding.am
# These are installed so that aclocal can copy them into aclocal.m4
# at autogen.sh time:
aclocal_macrodir = $(datadir)/aclocal
aclocal_macro_DATA = macros/mm-common.m4
dist_aclocal_macro_DATA = \
macros/mm-ax_cxx_compile_stdcxx.m4 \
macros/mm-ax_cxx_compile_stdcxx_11.m4 \
macros/mm-dietlib.m4 \
macros/mm-doc.m4 \
macros/mm-module.m4 \
macros/mm-pkg.m4 \
macros/mm-warnings.m4
# These are installed so that mm-common-prepare can copy them into projects
# at autogen.sh time if a directory path is given to MM_CONFIG_DOCTOOL_DIR(),
# or they can be found via pkg-config --variable=doctooldir mm-common,
# which is preferrable.
doctooldir = $(pkgdatadir)/doctool
dist_doctool_DATA = \
util/doc-install.pl \
util/doc-postprocess.pl \
util/doxygen.css \
util/doxygen-extra.css \
util/tagfile-to-devhelp2.xsl
doctagsdir = $(pkgdatadir)/doctags
dist_doctags_DATA = doctags/libstdc++.tag
# Let other modules find the utils with pkg-config:
shared_pkgconfigdir = $(datadir)/pkgconfig
nodist_shared_pkgconfig_DATA = \
doctags/mm-common-libstdc++.pc \
util/mm-common-util.pc
noinst_DATA = \
doctags/mm-common-libstdc++-uninstalled.pc \
util/mm-common-util-uninstalled.pc
dist_doc_DATA = README
doc_DATA = skeletonmm.tar.gz
skeletonmm_data_files = \
skeletonmm/.gitignore \
skeletonmm/AUTHORS \
skeletonmm/COPYING \
skeletonmm/ChangeLog \
skeletonmm/Makefile.am \
skeletonmm/README \
skeletonmm/configure.ac \
skeletonmm/skeletonmm.doap \
skeletonmm/build/.gitignore \
skeletonmm/codegen/Makefile.am \
skeletonmm/codegen/extradefs/generate_extra_defs_skeleton.cc \
skeletonmm/codegen/m4/convert.m4 \
skeletonmm/codegen/m4/convert_skeleton.m4 \
skeletonmm/codegen/m4/filelist.am \
skeletonmm/doc/Makefile.am \
skeletonmm/doc/reference/.gitignore \
skeletonmm/doc/reference/Doxyfile.in \
skeletonmm/examples/.gitignore \
skeletonmm/examples/Makefile.am \
skeletonmm/examples/example/example.cc \
skeletonmm/skeleton/.gitignore \
skeletonmm/skeleton/skeletonmm-uninstalled.pc.in \
skeletonmm/skeleton/skeletonmm.h \
skeletonmm/skeleton/skeletonmm.pc.in \
skeletonmm/skeleton/skeletonmmconfig.h.in \
skeletonmm/skeleton/skeletonmm/Makefile.am \
skeletonmm/skeleton/skeletonmm/filelist.am \
skeletonmm/skeleton/skeletonmm/wrap_init.h \
skeletonmm/skeleton/skeletonmm/private/.gitignore \
skeletonmm/skeleton/src/Makefile.am \
skeletonmm/skeleton/src/filelist.am \
skeletonmm/skeleton/src/skeleton.ccg \
skeletonmm/skeleton/src/skeleton.defs \
skeletonmm/skeleton/src/skeleton.hg \
skeletonmm/skeleton/src/skeleton_docs.xml \
skeletonmm/skeleton/src/skeleton_enum.defs \
skeletonmm/skeleton/src/skeleton_method.defs \
skeletonmm/skeleton/src/skeleton_signal.defs \
skeletonmm/skeleton/src/skeleton_vfunc.defs
skeletonmm_script_files = \
skeletonmm/autogen.sh \
skeletonmm/codegen/generate_defs_and_docs.sh
skeletonmm_files = $(skeletonmm_script_files) $(skeletonmm_data_files)
dist_noinst_DATA = util/mm-common-prepare.1.in $(skeletonmm_data_files)
dist_noinst_SCRIPTS = autogen.sh $(skeletonmm_script_files)
CLEANFILES = $(man1_MANS) $(doc_DATA)
MAINTAINERCLEANFILES = $(dist_doctags_DATA)
# Remote location of the GNU libstdc++ Doxygen tag file.
libstdcxx_tag_url = http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/libstdc++.tag
# Commands for downloading a target from a remote location, taking care
# not to download a file again if its time stamp has not changed.
download_curl = $(CURL) --compressed --connect-timeout 300 -g -L -m 3600 -R --retry 5 \
$(if $(wildcard $@),-z $@) -o $@
download_wget = $(WGET) -N -nd -T 300 -t 5 -P $(dir $@)
subst_manpage = $(SED) 's|[@]PACKAGE_STRING[@]|$(PACKAGE_STRING)|g;s|[@]docdir[@]|$(docdir)|g'
srctar_stdout = cd $(top_srcdir) >/dev/null && $(TAR) chof -
# If network access is enabled (either by explicit user request or by default
# if in maintainer mode), then always check the remote location of the tag file
# for updates when building the default target.
check_updates = $(and $(USE_NETWORK:no=),$(filter all%,$(or $(MAKECMDGOALS),all)),$(dist_doctags_DATA))
# By declaring a target phony, its rule is always executed.
.PHONY: $(check_updates) postinst-acdir-notice
# Avoid shipping partially downloaded files.
.DELETE_ON_ERROR:
# Download the libstdc++ tag file from the GCC website.
doctags/libstdc++.tag:
@$(if $(USE_NETWORK:no=),:,echo 'Error: $@ does not exist.' >&2; \
echo 'Downloading it is not possible because network is disabled.' >&2; \
echo 'Please run "$(MAKE) USE_NETWORK=yes", or reconfigure with' >&2; \
echo 'the --enable-network option.' >&2; exit 1)
$(AM_V_GEN)$(if\
$(CURL),$(download_curl) '$(libstdcxx_tag_url)',$(if\
$(WGET),$(download_wget) '$(libstdcxx_tag_url)',test -f $@))
# Build the mm-common-prepare(1) manual page.
util/mm-common-prepare.1: $(srcdir)/util/mm-common-prepare.1.in Makefile
$(AM_V_GEN)$(subst_manpage) $(srcdir)/util/mm-common-prepare.1.in >$@
# Create tar archive of skeletonmm for installation.
skeletonmm.tar.gz: $(skeletonmm_files)
$(AM_V_GEN)($(srctar_stdout) $(skeletonmm_files)) | gzip -c -n >$@
include $(top_srcdir)/build/dist-changelog.am
install-data-hook: $(if $(DESTDIR),,postinst-acdir-notice)
# Inform the installer that M4 macro files installed in a prefix
# not known to aclocal will not be picked up automatically.
postinst-acdir-notice:
@$(POST_INSTALL)
@-acdir=`$${ACLOCAL-aclocal} --print-ac-dir 2>/dev/null || :`; \
case ":$$ACLOCAL_PATH:$$acdir:" in *':$(aclocal_macrodir):'*) ;; *) \
echo; echo 'NOTICE:'; echo; \
echo 'The $(PACKAGE_NAME) Autoconf macro files have been installed in a different'; \
echo 'prefix than the system aclocal directory. In order for the installed'; \
echo 'macros to be found, it may be necessary to add the $(PACKAGE_NAME) include'; \
echo 'path to the ACLOCAL_PATH environment variable:'; echo; \
echo ' ACLOCAL_PATH="$(aclocal_macrodir)"'; \
echo ' export ACLOCAL_PATH'; echo;; \
esac