diff --git a/Makefile b/Makefile index c3181e2fd..a62573277 100644 --- a/Makefile +++ b/Makefile @@ -28,9 +28,6 @@ SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench .PHONY : all libs netlib $(RELA) test ctest shared install .NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test -# source: https://stackoverflow.com/questions/52674/simplest-way-to-reverse-the-order-of-strings-in-a-make-variable/14260762#14260762 -reverse = $(if $(wordlist 2,2,$(1)),$(call reverse,$(wordlist 2,$(words $(1)),$(1))) $(firstword $(1)),$(1)) - all :: libs netlib $(RELA) tests shared @echo @echo " OpenBLAS build complete. ($(LIB_COMPONENTS))" @@ -84,8 +81,8 @@ ifeq ($(OSNAME), Darwin) @echo "install_name_tool -id /new/absolute/path/to/$(LIBDYNNAME) $(LIBDYNNAME)" endif @echo - @echo "To install the library, you can run" - @echo " make $(call reverse,$(MAKEFLAGS)) PREFIX=/path/to/your/installation install" + @echo "To install the library, you can run \"make PREFIX=/path/to/your/installation install\"." + @echo shared : ifndef NO_SHARED @@ -245,7 +242,7 @@ ifndef NOFORTRAN -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "ARCH = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc - -@echo "ARCHFLAGS = -ru" >> $(NETLIB_LAPACK_DIR)/make.inc + -@echo "ARCHFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "LAPACKLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc -@echo "TMGLIB = ../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc diff --git a/Makefile.system b/Makefile.system index 102a7271c..1db306482 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 @@ -571,12 +575,14 @@ endif endif ifndef BINARY_DEFINED +ifneq ($(OSNAME), AIX) ifdef BINARY64 CCOMMON_OPT += -m64 else CCOMMON_OPT += -m32 endif endif +endif endif @@ -621,6 +627,7 @@ ifeq ($(F_COMPILER), G77) CCOMMON_OPT += -DF_INTERFACE_G77 FCOMMON_OPT += -Wall ifndef NO_BINARY_MODE +ifneq ($(OSNAME), AIX) ifdef BINARY64 FCOMMON_OPT += -m64 else @@ -628,10 +635,12 @@ FCOMMON_OPT += -m32 endif endif endif +endif ifeq ($(F_COMPILER), G95) CCOMMON_OPT += -DF_INTERFACE_G95 FCOMMON_OPT += -Wall +ifneq ($(OSNAME), AIX) ifndef NO_BINARY_MODE ifdef BINARY64 FCOMMON_OPT += -m64 @@ -640,6 +649,7 @@ FCOMMON_OPT += -m32 endif endif endif +endif ifeq ($(F_COMPILER), GFORTRAN) CCOMMON_OPT += -DF_INTERFACE_GFORT @@ -660,16 +670,20 @@ FCOMMON_OPT += -mabi=32 endif else ifdef BINARY64 +ifneq ($(OSNAME), AIX) FCOMMON_OPT += -m64 +endif ifdef INTERFACE64 ifneq ($(INTERFACE64), 0) FCOMMON_OPT += -fdefault-integer-8 endif endif else +ifneq ($(OSNAME), AIX) FCOMMON_OPT += -m32 endif endif +endif ifeq ($(USE_OPENMP), 1) FCOMMON_OPT += -fopenmp endif diff --git a/f_check b/f_check index b3e0311bc..941a9a5c4 100644 --- a/f_check +++ b/f_check @@ -71,7 +71,7 @@ if ($compiler eq "") { if ($data =~ /GNU/) { - $data =~ /(\d)\.(\d).(.)/; + $data =~ /(\d)\.(\d).(\d)/; $major = $1; $minor = $2; @@ -233,6 +233,10 @@ if (!$?) { if ($?) { $link = `$compiler $openmp -q32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; } + # for AIX + if ($?) { + $link = `$compiler $openmp -maix32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; + } #For gfortran MIPS if ($?) { $mips_data = `$compiler_bin -E -dM - < /dev/null`; @@ -250,6 +254,10 @@ if (!$?) { if ($?) { $link = `$compiler $openmp -q64 -v ftest2.f 2>&1 && rm -f a.out a.exe`; } + # for AIX + if ($?) { + $link = `$compiler $openmp -maix64 -v ftest2.f 2>&1 && rm -f a.out a.exe`; + } #For gfortran MIPS if ($?) { $link = `$compiler $openmp -mabi=64 -v ftest2.f 2>&1 && rm -f a.out a.exe`; diff --git a/make.inc b/make.inc index 1fc95b0c6..b6ed098c0 100644 --- a/make.inc +++ b/make.inc @@ -1,6 +1,6 @@ SHELL = /bin/sh PLAT = _LINUX DRVOPTS = $(NOOPT) -ARCHFLAGS= -ru +#ARCHFLAGS= $(ARFLAGS) -ru #RANLIB = ranlib