2008-08-04 19:17:50 +04:00
|
|
|
# -*- makefile -*-
|
2018-08-08 18:50:55 +03:00
|
|
|
# Copyright (c) 2008-2018 Cisco Systems, Inc. All rights reserved.
|
2008-08-02 01:14:37 +04:00
|
|
|
# Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
|
2020-02-22 18:59:19 +03:00
|
|
|
# Copyright (c) 2020 Intel, Inc. All rights reserved.
|
2008-08-02 01:14:37 +04:00
|
|
|
# $COPYRIGHT$
|
2014-03-28 22:24:32 +04:00
|
|
|
#
|
2008-08-02 01:14:37 +04:00
|
|
|
# Additional copyrights may follow
|
2014-03-28 22:24:32 +04:00
|
|
|
#
|
2008-08-02 01:14:37 +04:00
|
|
|
# $HEADER$
|
|
|
|
#
|
|
|
|
|
2020-04-20 19:43:59 +03:00
|
|
|
MD2NROFF = $(OMPI_TOP_SRCDIR)/config/md2nroff.pl
|
|
|
|
|
2015-05-15 12:22:15 +03:00
|
|
|
TRIM_OPTIONS=
|
2016-11-23 02:03:20 +03:00
|
|
|
if ! MAN_PAGE_BUILD_MPIFH_BINDINGS
|
|
|
|
TRIM_OPTIONS += --nofortran
|
|
|
|
endif
|
|
|
|
if ! MAN_PAGE_BUILD_USEMPIF08_BINDINGS
|
|
|
|
TRIM_OPTIONS += --nof08
|
|
|
|
endif
|
2015-05-15 12:22:15 +03:00
|
|
|
|
2020-04-20 19:43:59 +03:00
|
|
|
# JMS This rule can be deleted once all man pages have been converted
|
|
|
|
# to markdown.
|
2008-08-02 01:14:37 +04:00
|
|
|
.1in.1:
|
2018-08-08 18:50:55 +03:00
|
|
|
$(OMPI_V_GEN) $(top_srcdir)/config/make_manpage.pl \
|
2015-05-15 12:22:15 +03:00
|
|
|
--package-name='@PACKAGE_NAME@' \
|
|
|
|
--package-version='@PACKAGE_VERSION@' \
|
|
|
|
--ompi-date='@OMPI_RELEASE_DATE@' \
|
|
|
|
--opal-date='@OPAL_RELEASE_DATE@' \
|
|
|
|
--input=$< \
|
|
|
|
--output=$@
|
2008-08-02 01:14:37 +04:00
|
|
|
|
2020-04-20 19:43:59 +03:00
|
|
|
# JMS This rule can be deleted once all man pages have been converted
|
|
|
|
# to markdown.
|
2008-08-02 01:14:37 +04:00
|
|
|
.3in.3:
|
2018-08-08 18:50:55 +03:00
|
|
|
$(OMPI_V_GEN) $(top_srcdir)/config/make_manpage.pl \
|
2015-05-15 12:22:15 +03:00
|
|
|
--package-name='@PACKAGE_NAME@' \
|
|
|
|
--package-version='@PACKAGE_VERSION@' \
|
|
|
|
--ompi-date='@OMPI_RELEASE_DATE@' \
|
|
|
|
--opal-date='@OPAL_RELEASE_DATE@' \
|
|
|
|
$(TRIM_OPTIONS) \
|
|
|
|
--input=$< \
|
|
|
|
--output=$@
|
2008-08-02 01:14:37 +04:00
|
|
|
|
2020-04-20 19:43:59 +03:00
|
|
|
# JMS This rule can be deleted once all man pages have been converted
|
|
|
|
# to markdown.
|
2008-08-02 01:14:37 +04:00
|
|
|
.7in.7:
|
2018-08-08 18:50:55 +03:00
|
|
|
$(OMPI_V_GEN) $(top_srcdir)/config/make_manpage.pl \
|
2015-05-15 12:22:15 +03:00
|
|
|
--package-name='@PACKAGE_NAME@' \
|
|
|
|
--package-version='@PACKAGE_VERSION@' \
|
|
|
|
--ompi-date='@OMPI_RELEASE_DATE@' \
|
|
|
|
--opal-date='@OPAL_RELEASE_DATE@' \
|
|
|
|
--input=$< \
|
|
|
|
--output=$@
|
2014-03-28 22:24:32 +04:00
|
|
|
|
2020-04-20 19:43:59 +03:00
|
|
|
%.1: %.1.md
|
|
|
|
$(OMPI_V_GEN) $(MD2NROFF) --source=$< --dest=$@ --pandoc=$(PANDOC)
|
|
|
|
|
|
|
|
%.3: %.3.md
|
|
|
|
$(OMPI_V_GEN) $(MD2NROFF) --source=$< --dest=$@ --pandoc=$(PANDOC)
|
|
|
|
|
|
|
|
%.5: %.5.md
|
|
|
|
$(OMPI_V_GEN) $(MD2NROFF) --source=$< --dest=$@ --pandoc=$(PANDOC)
|
|
|
|
|
|
|
|
%.7: %.7.md
|
|
|
|
$(OMPI_V_GEN) $(MD2NROFF) --source=$< --dest=$@ --pandoc=$(PANDOC)
|
|
|
|
|
|
|
|
# It is an error to "configure --disable-man-pages" and then try to
|
|
|
|
# "make dist".
|
|
|
|
if !OPAL_ENABLE_MAN_PAGES
|
|
|
|
dist-hook:
|
|
|
|
@echo "************************************************************************************"
|
|
|
|
@echo "ERROR: 'make dist' inoperable when Open MPI is configured with --disable-man-pages"
|
|
|
|
@echo "************************************************************************************"
|
|
|
|
@/bin/false
|
|
|
|
endif
|
|
|
|
|
2014-03-28 22:24:32 +04:00
|
|
|
# A little verbosity magic; "make" will show the terse output. "make
|
|
|
|
# V=1" will show the actual commands used (just like the other
|
|
|
|
# Automake-generated compilation/linker rules).
|
|
|
|
V=0
|
|
|
|
|
|
|
|
OMPI_V_LN_S = $(ompi__v_LN_S_$V)
|
|
|
|
ompi__v_LN_S_ = $(ompi__v_LN_S_$AM_DEFAULT_VERBOSITY)
|
|
|
|
ompi__v_LN_S_0 = @echo " LN_S " `basename $@`;
|
|
|
|
|
|
|
|
OMPI_V_MKDIR = $(ompi__v_MKDIR_$V)
|
|
|
|
ompi__v_MKDIR_ = $(ompi__v_MKDIR_$AM_DEFAULT_VERBOSITY)
|
|
|
|
ompi__v_MKDIR_0 = @echo " MKDIR " $@;
|
Fortran: Fix MPI_SIZEOF. What a disaster. :-(
What started as a simple ticket ended up reaching the way up to the
MPI Forum.
It turns out that we are supposed to have MPI_SIZEOF for all Fortran
interfaces: mpif.h, the mpi module, and the mpi_f08 module.
It further turns out that to properly support MPI_SIZEOF, your Fortran
compiler *has* support the INTERFACE keyword and ISO_FORTRAN_ENV. We
can't use "ignore TKR" functionality, because the whole point of
MPI_SIZEOF is that the implementation knows what type was passed to it
("ignore TKR" functionality, by definition, throws that information
away). Hence, we have to have an MPI_SIZEOF interface+implementation
for all intrinsic types, kinds, and ranks.
This commit therefore adds a perl script that generates both the
interfaces and implementations for MPI_SIZEOF in each of mpif.h, the
mpi module, and mpi_f08 module (yay consolidation!).
The perl script uses the results of some new configure tests:
* check if the Fortran compiler supports the INTERFACE keyword
* check if the Fortran compiler supports ISO_FORTRAN_ENV
* find the max array rank (i.e., dimension) that the compiler supports
If the Fortran compiler supports both INTERFACE and ISO_FORTRAN_ENV,
then we'll build the MPI_SIZEOF interfaces. If not, we'll skip
MPI_SIZEOF in mpif.h and the mpi module. Note that we won't build the
mpi_f08 module -- to include the MPI_SIZEOF interfaces -- if the
Fortran compiler doesn't support INTERFACE, ISO_FORTRAN_ENV, and a
whole bunch of ther modern Fortran stuff.
Since MPI_SIZEOF interfaces are now generated by the perl script, this
commit also removes all the old MPI_SIZEOF implementations (which were
laden with a zillion #if blocks).
cmr=v1.8.3
This commit was SVN r32764.
2014-09-19 17:44:52 +04:00
|
|
|
|
|
|
|
OMPI_V_GEN = $(ompi__v_GEN_$V)
|
|
|
|
ompi__v_GEN_ = $(ompi__v_GEN_$AM_DEFAULT_VERBOSITY)
|
|
|
|
ompi__v_GEN_0 = @echo " GENERATE" $@;
|