mips: implement MB and WMB
[platform/upstream/openblas.git] / Makefile.rule
index 5bbabe3..b6c22f7 100644 (file)
@@ -1,12 +1,12 @@
 #
-#  Beginning of user configuration 
+#  Beginning of user configuration
 #
 
 # This library's version
-VERSION = 0.2.9
+VERSION = 0.2.20.dev
 
 # If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a
-# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library 
+# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library
 # is libopenblas_$(LIBNAMESUFFIX).so.0.
 # LIBNAMESUFFIX = omp
 
@@ -25,9 +25,20 @@ VERSION = 0.2.9
 # FC = gfortran
 
 # Even you can specify cross compiler. Meanwhile, please set HOSTCC.
+
+# cross compiler for Windows
 # CC = x86_64-w64-mingw32-gcc
 # FC = x86_64-w64-mingw32-gfortran
 
+# cross compiler for 32bit ARM
+# CC = arm-linux-gnueabihf-gcc
+# FC = arm-linux-gnueabihf-gfortran
+
+# cross compiler for 64bit ARM
+# CC = aarch64-linux-gnu-gcc
+# FC = aarch64-linux-gnu-gfortran
+
+
 # If you use the cross compiler, please set this host compiler.
 # HOSTCC = gcc
 
@@ -41,6 +52,7 @@ VERSION = 0.2.9
 # USE_THREAD = 0
 
 # If you're going to use this library with OpenMP, please comment it in.
+# This flag is always set for POWER8. Don't modify the flag 
 # USE_OPENMP = 1
 
 # You can define maximum number of threads. Basically it should be
@@ -57,17 +69,20 @@ VERSION = 0.2.9
 # If you don't need CBLAS interface, please comment it in.
 # NO_CBLAS = 1
 
-# If you only want CBLAS interface without installing Fortran compiler, 
+# If you only want CBLAS interface without installing Fortran compiler,
 # please comment it in.
 # ONLY_CBLAS = 1
 
-# If you don't need LAPACK, please comment it in. 
+# If you don't need LAPACK, please comment it in.
 # If you set NO_LAPACK=1, the library automatically sets NO_LAPACKE=1.
 # NO_LAPACK = 1
 
 # If you don't need LAPACKE (C Interface to LAPACK), please comment it in.
 # NO_LAPACKE = 1
 
+# Build LAPACK Deprecated functions since LAPACK 3.6.0
+BUILD_LAPACK_DEPRECATED = 1
+
 # If you want to use legacy threaded Level 3 implementation.
 # USE_SIMPLE_THREADED_LEVEL3 = 1
 
@@ -84,13 +99,26 @@ NO_WARMUP = 1
 # If you want to disable CPU/Memory affinity on Linux.
 NO_AFFINITY = 1
 
-# Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers 
+# if you are compiling for Linux and you have more than 16 numa nodes or more than 256 cpus
+# BIGNUMA = 1
+
+# Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers
 # and OS. However, the performance is low.
 # NO_AVX = 1
 
+# Don't use Haswell optimizations if binutils is too old (e.g. RHEL6)
+# NO_AVX2 = 1
+
 # Don't use parallel make.
 # NO_PARALLEL_MAKE = 1
 
+# Force number of make jobs. The default is the number of logical CPU of the host.
+# This is particularly useful when using distcc.
+# A negative value will disable adding a -j flag to make, allowing to use a parent
+# make -j value. This is useful to call OpenBLAS make from an other project
+# makefile
+# MAKE_NB_JOBS = 2
+
 # If you would like to know minute performance report of GotoBLAS.
 # FUNCTION_PROFILE = 1
 
@@ -112,8 +140,8 @@ NO_AFFINITY = 1
 # If you need to synchronize FP CSR between threads (for x86/x86_64 only).
 # CONSISTENT_FPCSR = 1
 
-# If any gemm arguement m, n or k is less or equal this threshold, gemm will be execute 
-# with single thread. You can use this flag to avoid the overhead of multi-threading 
+# If any gemm arguement m, n or k is less or equal this threshold, gemm will be execute
+# with single thread. You can use this flag to avoid the overhead of multi-threading
 # in small matrix sizes. The default value is 4.
 # GEMM_MULTITHREAD_THRESHOLD = 4
 
@@ -121,19 +149,18 @@ NO_AFFINITY = 1
 # slow (Not implemented yet).
 # SANITY_CHECK = 1
 
-# Run testcases in utest/ . When you enable UTEST_CHECK, it would enable
-# SANITY_CHECK to compare the result with reference BLAS.
-# UTEST_CHECK = 1
-
 # The installation directory.
 # PREFIX = /opt/OpenBLAS
 
-# Common Optimization Flag; 
+# Common Optimization Flag;
 # The default -O2 is enough.
+# Flags for POWER8 are defined in Makefile.power. Don't modify COMMON_OPT
 # COMMON_OPT = -O2
 
 # gfortran option for LAPACK
-FCOMMON_OPT = -frecursive
+# enable this flag only on 64bit Linux and if you need a thread safe lapack library
+# Flags for POWER8 are defined in Makefile.power. Don't modify FCOMMON_OPT
+# FCOMMON_OPT = -frecursive
 
 # Profiling flags
 COMMON_PROF = -pg
@@ -141,6 +168,23 @@ COMMON_PROF = -pg
 # Build Debug version
 # DEBUG = 1
 
+# Set maximum stack allocation.
+# The default value is 2048. 0 disable stack allocation a may reduce GER and GEMV
+# performance. For details, https://github.com/xianyi/OpenBLAS/pull/482
+#
+# MAX_STACK_ALLOC = 0
+
+# Add a prefix or suffix to all exported symbol names in the shared library.
+# Avoid conflicts with other BLAS libraries, especially when using
+# 64 bit integer interfaces in OpenBLAS.
+# For details, https://github.com/xianyi/OpenBLAS/pull/459
+#
+# The same prefix and suffix are also added to the library name,
+# i.e. you get lib$(SYMBOLPREFIX)openblas$(SYMBOLSUFFIX) rather than libopenblas
+#
+# SYMBOLPREFIX=
+# SYMBOLSUFFIX=
+
 #
-#  End of user configuration 
+#  End of user configuration
 #