diff --git a/Makefile.system b/Makefile.system index d0a837046..bd361a1a2 100644 --- a/Makefile.system +++ b/Makefile.system @@ -242,6 +242,10 @@ EXTRALIB += -lm NO_EXPRECISION = 1 endif +ifeq ($(OSNAME), Android) +EXTRALIB += -lm +endif + ifeq ($(OSNAME), AIX) EXTRALIB += -lm endif @@ -414,7 +418,6 @@ CCOMMON_OPT += -fopenmp endif ifeq ($(C_COMPILER), CLANG) -$(error OpenBLAS: Clang didn't support OpenMP yet.) CCOMMON_OPT += -fopenmp endif @@ -453,8 +456,9 @@ DYNAMIC_CORE += HASWELL ZEN endif endif +# If DYNAMIC_CORE is not set, DYNAMIC_ARCH cannot do anything, so force it to empty ifndef DYNAMIC_CORE -DYNAMIC_ARCH = +override DYNAMIC_ARCH= endif endif @@ -482,6 +486,23 @@ endif ifeq ($(ARCH), arm) NO_BINARY_MODE = 1 BINARY_DEFINED = 1 + +CCOMMON_OPT += -marm +FCOMMON_OPT += -marm + +# If softfp abi is mentioned on the command line, force it. +ifeq ($(ARM_SOFTFP_ABI), 1) +CCOMMON_OPT += -mfloat-abi=softfp +FCOMMON_OPT += -mfloat-abi=softfp +endif + +ifeq ($(OSNAME), Android) +ifeq ($(ARM_SOFTFP_ABI), 1) +EXTRALIB += -lm +else +EXTRALIB += -Wl,-lm_hard +endif +endif endif ifeq ($(ARCH), arm64) @@ -583,6 +604,23 @@ endif # Fortran Compiler dependent settings # +ifeq ($(F_COMPILER), FLANG) +CCOMMON_OPT += -DF_INTERFACE_FLANG +ifdef BINARY64 +ifdef INTERFACE64 +ifneq ($(INTERFACE64), 0) +FCOMMON_OPT += -i8 +endif +endif +FCOMMON_OPT += -Wall +else +FCOMMON_OPT += -Wall +endif +ifeq ($(USE_OPENMP), 1) +FCOMMON_OPT += -fopenmp +endif +endif + ifeq ($(F_COMPILER), G77) CCOMMON_OPT += -DF_INTERFACE_G77 FCOMMON_OPT += -Wall @@ -1091,7 +1129,7 @@ LIB_COMPONENTS += LAPACK ifneq ($(NO_LAPACKE), 1) LIB_COMPONENTS += LAPACKE endif -ifeq (${BUILD_RELAPACK}, 1) +ifeq ($(BUILD_RELAPACK), 1) LIB_COMPONENTS += ReLAPACK endif endif