You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
5.7 KiB
145 lines
5.7 KiB
#
|
|
#
|
|
# BLIS
|
|
# An object-based framework for developing high-performance BLAS-like
|
|
# libraries.
|
|
#
|
|
# Copyright (C) 2014, The University of Texas at Austin
|
|
# Copyright (C) 2022, Advanced Micro Devices, Inc.
|
|
# Copyright (C) 2023, Southern Methodist University
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
# - Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# - Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# - Neither the name(s) of the copyright holder(s) nor the names of its
|
|
# contributors may be used to endorse or promote products derived
|
|
# from this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#
|
|
#
|
|
|
|
ifndef CONFIG_MK_PLUGIN_INCLUDED
|
|
CONFIG_MK_PLUGIN_INCLUDED := yes
|
|
|
|
# The installation prefix, exec_prefix, libdir, includedir, and shareddir
|
|
# values from configure tell us where to install the libraries, header files,
|
|
# and public makefile fragments. We must first assign each substituted
|
|
# @anchor@ to its own variable. Why? Because the subsitutions may contain
|
|
# unevaluated variable expressions. For example, '@libdir@' may be replaced
|
|
# with '${exec_prefix}/lib'. By assigning the anchors to variables first, and
|
|
# then assigning them to their final INSTALL_* variables, we allow prefix and
|
|
# exec_prefix to be used in the definitions of exec_prefix, libdir,
|
|
# includedir, and sharedir.
|
|
prefix := @prefix@
|
|
exec_prefix := @exec_prefix@
|
|
libdir := @libdir@
|
|
includedir := @includedir@
|
|
sharedir := @sharedir@
|
|
|
|
# Override SHARE_PATH from common.mk so that e.g. make_defs.mk files from
|
|
# configurations are loaded from the installed share directory.
|
|
SHARE_PATH := @sharedir@/blis
|
|
|
|
# Override the source path locations to point to the plugin source, rather
|
|
# than the default values which assume the BLIS builtin source tree.
|
|
FRAME_DIR := .
|
|
DIST_PATH := @plugin_dir@
|
|
|
|
# Define the name of the global config.mk makefile.
|
|
GLOB_CONFIG_MK_FILE := $(sharedir)/blis/config.mk
|
|
|
|
# Include the configuration file.
|
|
include $(GLOB_CONFIG_MK_FILE)
|
|
|
|
# The name of the plugin.
|
|
PLUGIN_NAME := @plugin_name@
|
|
|
|
# This list contains some number of "kernel:config" pairs, where "config"
|
|
# specifies which configuration's compilation flags (CFLAGS) should be
|
|
# used to compile the source code for the kernel set named "kernel".
|
|
KCONFIG_MAP := @kconfig_map@
|
|
|
|
# The C compiler.
|
|
CC_VENDOR := @CC_VENDOR@
|
|
CC := @CC@
|
|
|
|
# Important C compiler ranges.
|
|
GCC_OT_4_9_0 := @gcc_older_than_4_9_0@
|
|
GCC_OT_6_1_0 := @gcc_older_than_6_1_0@
|
|
GCC_OT_9_1_0 := @gcc_older_than_9_1_0@
|
|
GCC_OT_10_3_0 := @gcc_older_than_10_3_0@
|
|
CLANG_OT_9_0_0 := @clang_older_than_9_0_0@
|
|
CLANG_OT_12_0_0 := @clang_older_than_12_0_0@
|
|
AOCC_OT_2_0_0 := @aocc_older_than_2_0_0@
|
|
AOCC_OT_3_0_0 := @aocc_older_than_3_0_0@
|
|
|
|
# The C++ compiler.
|
|
CXX := @CXX@
|
|
|
|
# The Fortran compiler.
|
|
FC := @FC@
|
|
|
|
# Static library indexer.
|
|
RANLIB := @RANLIB@
|
|
|
|
# Archiver.
|
|
AR := @AR@
|
|
|
|
# Preset (required) CFLAGS, CXXFLAGS, and LDFLAGS. These variables capture the value
|
|
# of the CFLAGS, CXXFLAGS, and LDFLAGS environment variables at configure-time (and/or
|
|
# the value of CFLAGS/CXXFLAGS/LDFLAGS if any was specified on the command line).
|
|
# These flags are used in addition to the flags automatically determined
|
|
# by the build system.
|
|
CFLAGS_PRESET := @cflags_preset@
|
|
CXXFLAGS_PRESET := @cxxflags_preset@
|
|
LDFLAGS_PRESET := @ldflags_preset@
|
|
|
|
# The level of debugging info to generate.
|
|
DEBUG_TYPE := @debug_type@
|
|
ENABLE_DEBUG := @enable_debug@
|
|
|
|
# Whether to compile and link the AddressSanitizer library.
|
|
MK_ENABLE_ASAN := @enable_asan@
|
|
|
|
# Whether the compiler supports "#pragma omp simd" via the -fopenmp-simd option.
|
|
PRAGMA_OMP_SIMD := @pragma_omp_simd@
|
|
|
|
# Whether to output verbose command-line feedback as the Makefile is
|
|
# processed.
|
|
ENABLE_VERBOSE := @enable_verbose@
|
|
|
|
# Whether we need to employ an alternate method for passing object files to
|
|
# ar and/or the linker to work around a small value of ARG_MAX.
|
|
ARG_MAX_HACK := @enable_arg_max_hack@
|
|
|
|
# Whether to build the static and shared libraries.
|
|
# NOTE: The "MK_" prefix, which helps differentiate these variables from
|
|
# their corresonding cpp macros that use the BLIS_ prefix.
|
|
MK_ENABLE_STATIC := @mk_enable_static@
|
|
MK_ENABLE_SHARED := @mk_enable_shared@
|
|
|
|
# Whether to use an install_name based on @rpath.
|
|
MK_ENABLE_RPATH := @enable_rpath@
|
|
|
|
# Whether to export all symbols within the shared library, even those symbols
|
|
# that are considered to be for internal use only.
|
|
EXPORT_SHARED := @export_shared@
|
|
|
|
# end of ifndef CONFIG_MK_PLUGIN_INCLUDED conditional block
|
|
endif
|
|
|