1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
#
#
# 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
|