|
| 1 | +# |
| 2 | +# Copyright (c) 2019 The University of Tennessee and The University |
| 3 | +# of Tennessee Research Foundation. All rights |
| 4 | +# reserved. |
| 5 | +# $COPYRIGHT$ |
| 6 | +# |
| 7 | +# Additional copyrights may follow |
| 8 | +# |
| 9 | +# $HEADER$ |
| 10 | +# |
| 11 | + |
| 12 | +# This is an sve op component. This Makefile.am is a typical |
| 13 | +# sve of how to integrate into Open MPI's Automake-based build |
| 14 | +# system. |
| 15 | +# |
| 16 | +# See https://github.com/open-mpi/ompi/wiki/devel-CreateComponent |
| 17 | +# for more details on how to make Open MPI components. |
| 18 | + |
| 19 | +# First, list all .h and .c sources. It is necessary to list all .h |
| 20 | +# files so that they will be picked up in the distribution tarball. |
| 21 | + |
| 22 | +sources = \ |
| 23 | + op_sve.h \ |
| 24 | + op_sve_component.c \ |
| 25 | + op_sve_functions.h \ |
| 26 | + op_sve_functions.c |
| 27 | + |
| 28 | +# Open MPI components can be compiled two ways: |
| 29 | +# |
| 30 | +# 1. As a standalone dynamic shared object (DSO), sometimes called a |
| 31 | +# dynamically loadable library (DLL). |
| 32 | +# |
| 33 | +# 2. As a static library that is slurped up into the upper-level |
| 34 | +# libmpi library (regardless of whether libmpi is a static or dynamic |
| 35 | +# library). This is called a "Libtool convenience library". |
| 36 | +# |
| 37 | +# The component needs to create an output library in this top-level |
| 38 | +# component directory, and named either mca_<type>_<name>.la (for DSO |
| 39 | +# builds) or libmca_<type>_<name>.la (for static builds). The OMPI |
| 40 | +# build system will have set the |
| 41 | +# MCA_BUILD_ompi_<framework>_<component>_DSO AM_CONDITIONAL to indicate |
| 42 | +# which way this component should be built. |
| 43 | + |
| 44 | +if MCA_BUILD_ompi_op_arm_sve_op_DSO |
| 45 | +component_noinst = |
| 46 | +component_install = mca_op_sve.la |
| 47 | +else |
| 48 | +component_install = |
| 49 | +component_noinst = component_noinst |
| 50 | +endif |
| 51 | + |
| 52 | +# Specific information for DSO builds. |
| 53 | +# |
| 54 | +# The DSO should install itself in $(ompilibdir) (by default, |
| 55 | +# $prefix/lib/openmpi). |
| 56 | + |
| 57 | +mcacomponentdir = $(ompilibdir) |
| 58 | +mcacomponent_LTLIBRARIES = $(component_install) |
| 59 | +mca_op_sve_la_SOURCES = $(sources) |
| 60 | +mca_op_sve_la_LDFLAGS = -module -avoid-version |
| 61 | +mca_op_sve_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la |
| 62 | + |
| 63 | +# Specific information for static builds. |
| 64 | +# |
| 65 | +# Note that we *must* "noinst"; the upper-layer Makefile.am's will |
| 66 | +# slurp in the resulting .la library into libmpi. |
| 67 | + |
| 68 | +noinst_LTLIBRARIES = $(component_noinst) |
| 69 | +libmca_op_sve_la_SOURCES = $(sources) |
| 70 | +libmca_op_sve_la_LDFLAGS = -module -avoid-version |
0 commit comments