## Process this file with automake to produce Makefile.in
##
# $Id$
#
# Copyright (C) 2003 Daniel Dalevi, Jari Häkkinen
# Copyright (C) 2005 Peter Johansson
# Copyright (C) 2006 Jari Häkkinen
# Copyright (C) 2007, 2008 Jari Häkkinen, Peter Johansson
# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Peter Johansson
#
# This file is part of the yat library, http://dev.thep.lu.se/yat
#
# The yat library 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 3 of the
# License, or (at your option) any later version.
#
# The yat library 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 yat. If not, see .
# -I arg should be the same as arg in AC_CONFIG_MACRO_DIR in configure.ac
ACLOCAL_AMFLAGS = -I m4
CLEANFILES =
DOXYGEN_INPUT =
EXTRA_DIST =
MOSTLYCLEANFILES =
## append targets to this variable for tests included in 'make installcheck'
INSTALL_CHECK_TARGETS =
FORCE:
## variable to used to switch between verbose output and silence
## yat_dev_null expands to empty string in verbose mode and to >
## /dev/null in silent mode, so 'echo hello $(yat_dev_null)' will
## display hello in verbose mode and being silent in silent mode.
yat_dev_null = $(yat_dev_null_$(V))
yat_dev_null_ = $(yat_dev_null_$(AM_DEFAULT_VERBOSITY))
yat_dev_null_0 = > /dev/null
include build_support/Makefile.am
## yat/Makefile.am contains DOXYGEN definitions, so needs to be
## included before doc/Makefile
include yat/Makefile.am
include doc/Makefile.am
include m4/Makefile.am
include test/Makefile.am
EXTRA_DIST += doc/Makefile
EXTRA_DIST += test/Makefile
EXTRA_DIST += yat/random/Makefile
EXTRA_DIST += yat/regression/Makefile
EXTRA_DIST += yat/normalizer/Makefile
EXTRA_DIST += yat/classifier/Makefile
EXTRA_DIST += yat/omic/Makefile
EXTRA_DIST += yat/statistics/Makefile
EXTRA_DIST += yat/utility/Makefile
EXTRA_DIST += yat/Makefile
clean-local:
rm -rf doc/$(DX_HTML_OUTPUT) test/yathello test/testSubDir test/lib
installcheck-local: $(INSTALL_CHECK_TARGETS)
.PHONY: doc maintainer-check news-check svn-check svn-clean release
# like the normal install target, but does not update header files
# (and their time stamps) if the content did not change.
install-modified:
$(MAKE) install $(AM_MAKEFLAGS) INSTALL_HEADER="$(install_sh_DATA) -C"
###############################################################
##
## Some targets useful for the maintainer
##
MAINTAINER_CHECK_LOCAL = maintainer-check-local
RELEASE_LOCAL = ltversion-check
.PHONY: maintainer-check-local ltversion-check
ltversion-check:
@case `sed 200q $(srcdir)/m4/version.m4` in \
*yat-$(VERSION)*$(YAT_LT_VERSION)*);; \
*) \
echo "version.m4: YAT_LT_VERSION not updated;" 1>&2;\
echo " expected to find 'yat-$(VERSION) $(YAT_LT_VERSION)'" 1>&2;\
exit 1;; \
esac
maintainer-check-local:
$(MAKE) $(AM_MAKEFLAGS) syntax-check
$(MAKE) $(AM_MAKEFLAGS) mc_installcheck
$(MAKE) $(AM_MAKEFLAGS) mc_without_samtools
$(MAKE) $(AM_MAKEFLAGS) yat-pc-check
mc_installcheck:
mkdir _inst
@mcl_install=`cd _inst && pwd` \
&& $(MAKE) $(AM_MAKEFLAGS) clean \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=$$mcl_install \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=$$mcl_install doc \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=$$mcl_install install \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=$$mcl_install installcheck
# check that yat.pc is correctly generated with different combinations
# of ./configure; make. This target is typically used within
# mainatiner-check; if used outside maintainer-check, please note that
# the target calls configure possibly with other arguments, so it's
# probably a good a idea to re-configure afterwards.
yat-pc-check:
$(SHELL) $(srcdir)/configure $(DISTCHECK_CONFIGURE_FLAGS) \
&& rm -f build_support/yat.pc && $(MAKE) $(AM_MAKEFLAGS) \
&& $(GREP) '^prefix=/usr/local' build_support/yat.pc \
&& $(GREP) '^exec_prefix=$${prefix}' build_support/yat.pc \
&& $(GREP) '^libdir=$${exec_prefix}/lib' build_support/yat.pc \
&& $(GREP) '^includedir=$${prefix}/include' build_support/yat.pc \
&& rm -f build_support/yat.pc && $(MAKE) $(AM_MAKEFLAGS) prefix=foo \
&& $(GREP) '^prefix=foo' build_support/yat.pc \
&& $(GREP) '^exec_prefix=$${prefix}' build_support/yat.pc \
&& $(GREP) '^libdir=$${exec_prefix}/lib' build_support/yat.pc \
&& $(GREP) '^includedir=$${prefix}/include' build_support/yat.pc \
&& rm -f build_support/yat.pc \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=foo exec_prefix=bar \
&& $(GREP) '^prefix=foo' build_support/yat.pc \
&& $(GREP) '^exec_prefix=bar' build_support/yat.pc \
&& $(GREP) '^libdir=$${exec_prefix}/lib' build_support/yat.pc \
&& $(GREP) '^includedir=$${prefix}/include' build_support/yat.pc \
&& rm -f build_support/yat.pc \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=foo exec_prefix=bar libdir=baz includedir=quz \
&& $(GREP) '^prefix=foo' build_support/yat.pc \
&& $(GREP) '^exec_prefix=bar' build_support/yat.pc \
&& $(GREP) '^libdir=baz' build_support/yat.pc \
&& $(GREP) '^includedir=quz' build_support/yat.pc \
&& $(SHELL) $(srcdir)/configure $(DISTCHECK_CONFIGURE_FLAGS) exec_prefix=/t \
&& rm -f build_support/yat.pc && $(MAKE) $(AM_MAKEFLAGS) \
&& $(GREP) '^prefix=/usr/local' build_support/yat.pc \
&& $(GREP) '^exec_prefix=/t' build_support/yat.pc \
&& $(GREP) '^libdir=$${exec_prefix}/lib' build_support/yat.pc \
&& $(GREP) '^includedir=$${prefix}/include' build_support/yat.pc \
&& rm -f build_support/yat.pc && $(MAKE) $(AM_MAKEFLAGS) prefix=foo \
&& $(GREP) '^prefix=foo' build_support/yat.pc \
&& $(GREP) '^exec_prefix=/t' build_support/yat.pc \
&& $(GREP) '^libdir=$${exec_prefix}/lib' build_support/yat.pc \
&& $(GREP) '^includedir=$${prefix}/include' build_support/yat.pc \
&& rm -f build_support/yat.pc \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=foo exec_prefix=bar \
&& $(GREP) '^prefix=foo' build_support/yat.pc \
&& $(GREP) '^exec_prefix=bar' build_support/yat.pc \
&& $(GREP) '^libdir=$${exec_prefix}/lib' build_support/yat.pc \
&& $(GREP) '^includedir=$${prefix}/include' build_support/yat.pc \
&& rm -f build_support/yat.pc \
&& $(MAKE) $(AM_MAKEFLAGS) prefix=foo exec_prefix=bar libdir=baz includedir=quz \
&& $(GREP) '^prefix=foo' build_support/yat.pc \
&& $(GREP) '^exec_prefix=bar' build_support/yat.pc \
&& $(GREP) '^libdir=baz' build_support/yat.pc \
&& $(GREP) '^includedir=quz' build_support/yat.pc
SVN = svn
SVNCOPYRIGHT = svncopyright
SVNDIGEST_COPY_CACHE = svndigest_copy_cache
SCP = scp
copyright:
$(SVNCOPYRIGHT) -v -r $(srcdir)
## FIXME perhaps incorporate this target into release
release-tag-upload:
$(MAKE) $(AM_MAKEFLAGS) release
$(MAKE) $(AM_MAKEFLAGS) svn-tag
$(MAKE) $(AM_MAKEFLAGS) announce.txt
$(MAKE) $(AM_MAKEFLAGS) upload
announce.txt: build_support/gen_announce.sh $(distdir).tar.gz.MD5
$(SHELL) build_support/gen_announce.sh > $@
sf_user = peter31042
upload: $(distdir).tar.gz $(distdir).tar.gz.MD5
$(SCP) $(distdir).tar.gz $(distdir).tar.gz.MD5 \
$(sf_user),libyat@frs.sourceforge.net:/home/frs/project/l/li/libyat/.
STABLE_VERSION = $(YAT_MAJOR_VERSION).$(YAT_MINOR_VERSION)
STABLE_BRANCH = ^/branches/$(STABLE_VERSION)-stable
# create a tag from current stable branch; depends on check-version to
# ensure that version is macro.minor.micro (no pre suffix), that wc is
# pristine and updated.
svn-tag: check-version check-svn-diff
cd $(srcdir) && \
$(SVN) copy $(STABLE_BRANCH) ^/tags/$(VERSION) \
-m "tagging version $(VERSION)"
# create a stable-branch from trunk
svn-stable-branch: check-svn-diff all
cd $(srcdir) && \
svn copy ^/trunk $(STABLE_BRANCH) \
-m "New stable branch $(STABLE_VERSION)" \
&& svn co $(STABLE_BRANCH) ../yat-$(STABLE_VERSION).x \
&& $(SVNDIGEST_COPY_CACHE) -v -r . -t ../yat-$(STABLE_VERSION).x
include $(srcdir)/am/maintainer.am
# run within maintainer-check
# try ./configure --without-samtools; make; make check
mc_without_samtools:
@rm -rf _mc_without_samtools
mkdir _mc_without_samtools
cd _mc_without_samtools \
&& ../$(srcdir)/configure $(DISTCHECK_CONFIGURE_FLAGS) --without-samtools \
&& $(MAKE) $(AM_MAKEFLAGS) && $(MAKE) check $(AM_MAKEFLAGS)
test_sources = $(EXTRA_PROGRAMS:.test=.cc)
syntax-check: sc_config_h
sc_config_h:
@for f in $(yat_libyat_la_SOURCES) $(test_sources); do \
test -e $$f || f=$(srcdir)/$$f;\
grep '^#include' $$f | head -n 1 | grep '' > /dev/null || \
{ echo "missing '#include ' in $$f" >&2; exit 1; } \
done