# -*- Mode: Makefile; -*-
#
# (C) 2009 by Argonne National Laboratory.
# See COPYRIGHT in top-level directory.
#
external_subdirs = @mpl_srcdir@
external_dist_subdirs = @mpl_dist_srcdir@
external_includes = @mpl_includedir@
external_ldflags = @mpl_libdir@
external_libs = @mpl_lib@ @WRAPPER_LIBS@
bin_PROGRAMS =
noinst_HEADERS =
DISTCLEANFILES =
EXTRA_DIST =
SUFFIXES =
doc1_src_txt =
ACLOCAL_AMFLAGS = -I confdb
AM_CPPFLAGS = -I$(top_srcdir)/include $(external_includes)
noinst_HEADERS += include/hydra.h include/hydra_server.h
EXTRA_DIST += autogen.sh
noinst_LTLIBRARIES = libhydra.la
libhydra_la_SOURCES =
# The below directories contribute to libhydra
include utils/Makefile.mk
include tools/Makefile.mk
include pm/Makefile.mk
include ui/Makefile.mk
# External subdirs should be built first, as we might depend on them
SUBDIRS = ${external_subdirs} .
# see note in MPICH Makefile.am about our usage of DIST_SUBDIRS
DIST_SUBDIRS = ${external_dist_subdirs}
# Provide an alias for mpirun to support tools that assume that
# mpiexec is called mpirun
install-exec-hook:
if [ -x ${DESTDIR}${bindir}/@MPIEXEC_HYDRA_NAME@ ] ; then \
cd ${DESTDIR}${bindir} && ln -f -s @MPIEXEC_HYDRA_NAME@ @MPIEXEC_NAME@ ; \
cd ${DESTDIR}${bindir} && ln -f -s @MPIEXEC_HYDRA_NAME@ @MPIRUN_NAME@ ; \
fi
# A special alternate installation target when using multiple process
# managers; this is basically the install target, but without the
# install-exec-hook
install-alt: $(bin_PROGRAMS)
@for foo in $? ; do $(MAKE) install $$foo ; done
uninstall-local:
rm -f ${DESTDIR}${bindir}/@MPIRUN_NAME@ ${DESTDIR}${bindir}/@MPIEXEC_NAME@
# --------------------------------------------------------------------------
#.PHONY: mandoc mandoc-local htmldoc htmldoc-local
SUFFIXES += .man-phony .html-phony .man1-phony .html1-phony .txt
# "make V=1" support for our documentation recipes
doctextman_verbose = $(doctextman_verbose_$(V))
doctextman_verbose_ = $(doctextman_verbose_$(AM_DEFAULT_VERBOSITY))
doctextman_verbose_0 = @echo " DOCTEXTMAN " $@;
doctexthtml_verbose = $(doctexthtml_verbose_$(V))
doctexthtml_verbose_ = $(doctexthtml_verbose_$(AM_DEFAULT_VERBOSITY))
doctexthtml_verbose_0 = @echo " DOCTEXTHTML " $@;
# Build dir paths where the man pages will be created. Will usually be
# overridden by MPICH make.
mandoc_path1=${DESTDIR}${sharedir}/man/man1
mandoc_path3=${DESTDIR}${sharedir}/man/man3
htmldoc_path1=${DESTDIR}${sharedir}/www/www1
htmldoc_path3=${DESTDIR}${sharedir}/www/www3
doctext_docnotes=
.c.man-phony:
$(doctextman_verbose)$(DOCTEXT) -man -mpath $(mandoc_path3) -ext 3 \
-heading HYDRA -quotefmt $(doctext_docnotes) $<
.c.html-phony:
$(doctexthtml_verbose)$(DOCTEXT) -html -mpath $(htmldoc_path3) \
-heading HYDRA -quotefmt $(doctext_docnotes) $<
.txt.man1-phony:
$(doctextman_verbose)$(DOCTEXT) -man -mpath $(mandoc_path1) -ext 1 \
-heading HYDRA -quotefmt $(doctext_docnotes) $<
.txt.html1-phony:
$(doctexthtml_verbose)$(DOCTEXT) -html -mpath $(htmldoc_path1) \
-heading HYDRA -quotefmt $(doctext_docnotes) $<
# use mandoc-local target to force directory creation before running DOCTEXT
mandoc:
test -d $(mandoc_path1) || $(MKDIR_P) $(mandoc_path1)
test -d $(mandoc_path3) || $(MKDIR_P) $(mandoc_path3)
$(MAKE) $(AM_MAKEFLAGS) mandoc-local
mandoc-local: $(doc1_src_txt:.txt=.man1-phony)
# use htmldoc-local target to force directory creation before running DOCTEXT
htmldoc:
if test "@DOXYGEN@" != "" ; then @DOXYGEN@ hydra-doxygen.cfg ; fi
test -d $(top_builddir)/www/www1 || $(MKDIR_P) $(top_builddir)/www/www1
test -d $(top_builddir)/www/www3 || $(MKDIR_P) $(top_builddir)/www/www3
$(MAKE) $(AM_MAKEFLAGS) htmldoc-local
htmldoc-local: $(doc1_src_txt:.txt=.man1-phony)
# created by confdb/aclocal_cache.m4
DISTCLEANFILES += config.system
# --------------------------------------------------------------------------
.PHONY: coverage
gcov_sources = $(libmpl_la_SOURCES)
# assumes that these sources were compiled appropriately ("-fprofile-arcs"
# and "-ftest-coverage")
coverage:
@for file in $(gcov_sources) ; do \
dir=`dirname $$file` ; \
bname=`basename $$file` ; \
aux=`echo $$bname | sed -e 's,\.*$$,,'` ; \
echo "( $(GCOV) -b -f -o $$file $$file && mv $${bname}.gcov $$dir )" ; \
( $(GCOV) -b -f -o $$file $$file && mv $${bname}.gcov $$dir ) ; \
rm -f *.gcov ; \
done
## we don't recurse into SUBDIRS in hydra, since they are only really
## external packages like hwloc
## for subdir in $(SUBDIRS) ; do \
## ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) coverage ) ; \
## done
# --------------------------------------------------------------------------