
Also added infrastructure to have developers write man pages in Markdown (vs. nroff). Pandoc >=v1.12 is used to convert those Markdown files into actual nroff man pages. Dist tarballs will contain generated nroff man pages; we don't want to require users to have Pandoc installed. Anyone who builds Open MPI from a git clone will need to have Pandoc installed (similar to how we treat Flex). You can opt out of Open MPI's Pandoc-generated man pages by configuring Open MPI with --disable-man-pages. This will also disable "make dist" (i.e., "make dist" will error if you configured with --disable-man-pages). Also removed the stuff to re-generate man pages. This commit also: 1. Includes a new man page, written in Markdown (ompi/mpi/man/man5/MPI_T.5.md) that contains Open MPI-specific information about MPI_T. 2. Includes a converted ompi/mpi/man/man3/MPI_T_init_thread.3.md (from MPI_T_init_thread.3in -- i.e., nroff) just to show that Markdown can be used throughout the Open MPI code base for man pages. 3. Made the Makefiles in ompi/mpi/man/man?/ be full-fledged Makefile.am's (vs. Makefile.extras that are designed to be included in ompi/Makefile.am). It is more convenient to test generation / installation of man pages when you can "make" and "make install" in their respective directories (vs. doing a build / install for the entire ompi project). 4. Removed logic from ompi/Makefile.am that re-generated man pages if opal_config.h changes. Other man pages -- hopefully all of them! -- will be converted to Markdown over time. Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
204 строки
6.9 KiB
Makefile
204 строки
6.9 KiB
Makefile
#
|
|
# Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2009 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# Copyright (c) 2008-2019 Cisco Systems, Inc. All rights reserved
|
|
# Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
|
|
# Copyright (c) 2010-2011 Sandia National Laboratories. All rights reserved.
|
|
# Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights
|
|
# reserved.
|
|
# Copyright (c) 2015-2019 Intel, Inc. All rights reserved.
|
|
# Copyright (c) 2015-2018 Research Organization for Information Science
|
|
# and Technology (RIST). All rights reserved.
|
|
# Copyright (c) 2016 IBM Corporation. All rights reserved.
|
|
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
# We always have C bindings, but do we have profiling?
|
|
|
|
if BUILD_MPI_BINDINGS_LAYER
|
|
c_mpi_lib = mpi/c/libmpi_c_mpi.la mpi/tool/libmpi_mpit.la
|
|
else
|
|
c_mpi_lib =
|
|
endif
|
|
c_pmpi_lib = mpi/c/profile/libmpi_c_pmpi.la mpi/tool/profile/libmpi_pmpit.la
|
|
|
|
# See if we have Fortran mpif.h MPI bindings
|
|
|
|
if OMPI_BUILD_FORTRAN_MPIFH_BINDINGS
|
|
mpi_fortran_base_lib = mpi/fortran/base/libmpi_fortran_base.la
|
|
else
|
|
mpi_fortran_base_lib =
|
|
endif
|
|
|
|
# Note that the ordering of "." in SUBDIRS is important: the Fortran
|
|
# mpif.h, and use mpi/use mpi_f08 bindings are all in standalone .la
|
|
# files that depend on libmpi.la. So we must fully build libmpi.la
|
|
# first.
|
|
|
|
# NOTE: A handful of files in mpi/fortran/base must be included in
|
|
# libmpi.la. But we wanted to keep all the Fortran sources together
|
|
# in the same tree, so we moved those sources to a separate
|
|
# subdirectory with its own Makefile.include that is included in this
|
|
# Makefile.am (NOTE: it did *not* work to put all the files -- base
|
|
# and non-base -- into mpi/fortran/mpif-h and have both a regular
|
|
# Makefile.am for building the mpif.h bindings library and a separate
|
|
# Makefile.include that was included in this top-level Makefile.am;
|
|
# problems occurred with "make distclean" and files in the
|
|
# ompi/mpi/fortran/mpif-h/.deps directory -- it's not clear whether
|
|
# this is an AM bug or whether this behavior is simply not supported).
|
|
# This ompi/mpi/fortran/base/Makefile.include file makes a convenience
|
|
# LT library that is then sucked into libmpi.la (the
|
|
# ompi/mpi/fortran/base sources must be compiled with special
|
|
# CPPFLAGS; we can't just add the raw sources to libmpi_la_SOURCES,
|
|
# unfortunately).
|
|
|
|
# The end of the result is that libmpi.la -- including a few sources
|
|
# from mpi/fortran/base -- is fully built before the mpif.h, and
|
|
# use mpi/use mpi_f08 bindings are built. Therefore, the mpif.h
|
|
# and use mpi/use mpi_f08 bindings libraries can all link against
|
|
# libmpi.la.
|
|
|
|
# NOTE: The ordering of this list is VERY CAREFULLY CRAFTED! Do not
|
|
# change the ordering unless you really know what you're doing. :-)
|
|
|
|
SUBDIRS = \
|
|
include \
|
|
datatype \
|
|
debuggers \
|
|
etc \
|
|
mpi/c \
|
|
mpi/tool \
|
|
$(OMPI_MPIEXT_C_DIRS) \
|
|
mpi/fortran/base/ \
|
|
$(MCA_ompi_FRAMEWORKS_SUBDIRS) \
|
|
$(MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS) \
|
|
. \
|
|
$(OMPI_MPIEXT_MPIFH_DIRS) \
|
|
mpi/fortran/mpif-h \
|
|
$(OMPI_MPIEXT_USEMPI_DIR) \
|
|
$(OMPI_FORTRAN_USEMPI_DIR) \
|
|
mpi/fortran/mpiext-use-mpi \
|
|
mpi/fortran/use-mpi-f08/base \
|
|
mpi/fortran/use-mpi-f08/mod \
|
|
mpi/fortran/use-mpi-f08/bindings \
|
|
$(OMPI_MPIEXT_USEMPIF08_DIRS) \
|
|
mpi/fortran/use-mpi-f08 \
|
|
mpi/fortran/mpiext-use-mpi-f08 \
|
|
$(MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS) \
|
|
$(OMPI_CONTRIB_SUBDIRS) \
|
|
mpi/man/man3 \
|
|
mpi/man/man5
|
|
|
|
if OMPI_WANT_JAVA_BINDINGS
|
|
SUBDIRS += \
|
|
mpi/java
|
|
endif
|
|
|
|
# The ordering of the DIST_SUBDIRS isn't as important, but note that
|
|
# its contents *are* different than SUBDIRS. In particular, the
|
|
# MPIEXT subdirs has a different value that is *not* equivalent to the
|
|
# union of the various $(OMPI_MPIEXT_*_DIRS) variables from SUBDIRS!
|
|
|
|
DIST_SUBDIRS = \
|
|
include \
|
|
datatype \
|
|
debuggers \
|
|
etc \
|
|
mpi/c \
|
|
mpi/tool \
|
|
mpi/fortran/base \
|
|
mpi/fortran/mpif-h \
|
|
mpi/fortran/use-mpi-tkr \
|
|
mpi/fortran/use-mpi-ignore-tkr \
|
|
mpi/fortran/mpiext-use-mpi \
|
|
mpi/fortran/use-mpi-f08 \
|
|
mpi/fortran/use-mpi-f08/base \
|
|
mpi/fortran/use-mpi-f08/mod \
|
|
mpi/fortran/use-mpi-f08/bindings \
|
|
mpi/fortran/mpiext-use-mpi-f08 \
|
|
mpi/java \
|
|
$(OMPI_MPIEXT_ALL_SUBDIRS) \
|
|
$(MCA_ompi_FRAMEWORKS_SUBDIRS) \
|
|
$(MCA_ompi_FRAMEWORK_COMPONENT_ALL_SUBDIRS) \
|
|
$(OMPI_CONTRIB_DIST_SUBDIRS) \
|
|
mpi/man/man3 \
|
|
mpi/man/man5
|
|
|
|
# Build the main MPI library
|
|
|
|
lib_LTLIBRARIES = lib@OMPI_LIBMPI_NAME@.la
|
|
lib@OMPI_LIBMPI_NAME@_la_SOURCES =
|
|
lib@OMPI_LIBMPI_NAME@_la_LIBADD = \
|
|
datatype/libdatatype.la \
|
|
debuggers/libdebuggers.la \
|
|
mpi/c/libmpi_c.la \
|
|
mpi/tool/libmpi_mpit_common.la \
|
|
$(c_mpi_lib) \
|
|
$(c_pmpi_lib) \
|
|
$(mpi_fortran_base_lib) \
|
|
$(MCA_ompi_FRAMEWORK_LIBS) \
|
|
$(OMPI_MPIEXT_C_LIBS) \
|
|
$(OMPI_LIBMPI_EXTRA_LIBS)
|
|
|
|
|
|
lib@OMPI_LIBMPI_NAME@_la_LIBADD += \
|
|
$(OMPI_TOP_BUILDDIR)/opal/lib@OPAL_LIB_PREFIX@open-pal.la
|
|
lib@OMPI_LIBMPI_NAME@_la_DEPENDENCIES = $(lib@OMPI_LIBMPI_NAME@_la_LIBADD)
|
|
lib@OMPI_LIBMPI_NAME@_la_LDFLAGS = \
|
|
-version-info $(libmpi_so_version) \
|
|
$(OMPI_LIBMPI_EXTRA_LDFLAGS)
|
|
|
|
# included subdirectory Makefile.am's and appended-to variables
|
|
headers =
|
|
noinst_LTLIBRARIES =
|
|
include_HEADERS =
|
|
dist_ompidata_DATA =
|
|
lib@OMPI_LIBMPI_NAME@_la_SOURCES += $(headers)
|
|
|
|
# Conditionally install the header files
|
|
|
|
if WANT_INSTALL_HEADERS
|
|
ompidir = $(ompiincludedir)/$(subdir)
|
|
nobase_ompi_HEADERS = $(headers)
|
|
endif
|
|
|
|
include class/Makefile.am
|
|
include attribute/Makefile.am
|
|
include communicator/Makefile.am
|
|
include dpm/Makefile.am
|
|
include errhandler/Makefile.am
|
|
include file/Makefile.am
|
|
include group/Makefile.am
|
|
include info/Makefile.am
|
|
include interlib/Makefile.am
|
|
include message/Makefile.am
|
|
include op/Makefile.am
|
|
include peruse/Makefile.am
|
|
include proc/Makefile.am
|
|
include request/Makefile.am
|
|
include runtime/Makefile.am
|
|
include win/Makefile.am
|
|
include tools/Makefile.am
|
|
include mpi/Makefile.am
|
|
include mpiext/Makefile.am
|
|
include patterns/net/Makefile.am
|
|
include patterns/comm/Makefile.am
|
|
include mca/Makefile.am
|
|
include util/Makefile.am
|
|
|
|
distclean-local:
|
|
rm -f mpiext/static-components.h
|