| @@ -82,12 +82,19 @@ ifeq ($(HOSTCC), loongcc) | |||||
| GETARCH_FLAGS += -static | GETARCH_FLAGS += -static | ||||
| endif | endif | ||||
| #if don't use Fortran, it will only compile CBLAS. | |||||
| ifeq ($(ONLY_CBLAS), 1) | |||||
| NO_LAPACK = 1 | |||||
| else | |||||
| ONLY_CBLAS = 0 | |||||
| endif | |||||
| # This operation is expensive, so execution should be once. | # This operation is expensive, so execution should be once. | ||||
| ifndef GOTOBLAS_MAKEFILE | ifndef GOTOBLAS_MAKEFILE | ||||
| export GOTOBLAS_MAKEFILE = 1 | export GOTOBLAS_MAKEFILE = 1 | ||||
| # Generating Makefile.conf and config.h | # Generating Makefile.conf and config.h | ||||
| DUMMY := $(shell $(MAKE) -C $(TOPDIR) -f Makefile.prebuild CC="$(CC)" FC="$(FC)" HOSTCC="$(HOSTCC)" CFLAGS="$(GETARCH_FLAGS)" BINARY=$(BINARY) USE_OPENMP=$(USE_OPENMP) TARGET_CORE=$(TARGET_CORE) all) | |||||
| DUMMY := $(shell $(MAKE) -C $(TOPDIR) -f Makefile.prebuild CC="$(CC)" FC="$(FC)" HOSTCC="$(HOSTCC)" CFLAGS="$(GETARCH_FLAGS)" BINARY=$(BINARY) USE_OPENMP=$(USE_OPENMP) TARGET_CORE=$(TARGET_CORE) ONLY_CBLAS=$(ONLY_CBLAS) all) | |||||
| ifndef TARGET_CORE | ifndef TARGET_CORE | ||||
| include $(TOPDIR)/Makefile.conf | include $(TOPDIR)/Makefile.conf | ||||
| @@ -329,16 +336,14 @@ ifeq ($(ARCH), x86) | |||||
| DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \ | DYNAMIC_CORE = KATMAI COPPERMINE NORTHWOOD PRESCOTT BANIAS \ | ||||
| CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO | CORE2 PENRYN DUNNINGTON NEHALEM ATHLON OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO | ||||
| ifneq ($(NO_AVX), 1) | ifneq ($(NO_AVX), 1) | ||||
| DYNAMIC_CORE += SANDYBRIDGE | |||||
| #BULLDOZER PILEDRIVER | |||||
| DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER | |||||
| endif | endif | ||||
| endif | endif | ||||
| ifeq ($(ARCH), x86_64) | ifeq ($(ARCH), x86_64) | ||||
| DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO | DYNAMIC_CORE = PRESCOTT CORE2 PENRYN DUNNINGTON NEHALEM OPTERON OPTERON_SSE3 BARCELONA BOBCAT ATOM NANO | ||||
| ifneq ($(NO_AVX), 1) | ifneq ($(NO_AVX), 1) | ||||
| DYNAMIC_CORE += SANDYBRIDGE | |||||
| #BULLDOZER PILEDRIVER | |||||
| DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER | |||||
| endif | endif | ||||
| endif | endif | ||||
| @@ -369,17 +374,18 @@ BINARY_DEFINED = 1 | |||||
| endif | endif | ||||
| ifeq ($(ARCH), arm) | ifeq ($(ARCH), arm) | ||||
| NO_BINARY_MODE = 1 | |||||
| BINARY_DEFINED = 1 | |||||
| NO_BINARY_MODE = 1 | |||||
| BINARY_DEFINED = 1 | |||||
| endif | endif | ||||
| ifeq ($(ARCH), arm64) | ifeq ($(ARCH), arm64) | ||||
| NO_BINARY_MODE = 1 | |||||
| BINARY_DEFINED = 1 | |||||
| NO_BINARY_MODE = 1 | |||||
| BINARY_DEFINED = 1 | |||||
| endif | endif | ||||
| # | # | ||||
| # C Compiler dependent settings | # C Compiler dependent settings | ||||
| # | # | ||||
| @@ -852,6 +858,7 @@ COMMON_OPT = -O3 | |||||
| endif | endif | ||||
| endif | endif | ||||
| ifndef COMMON_OPT | ifndef COMMON_OPT | ||||
| COMMON_OPT = -O2 | COMMON_OPT = -O2 | ||||
| endif | endif | ||||
| @@ -921,6 +928,23 @@ LIBZIPNAME = $(LIBNAME:.$(LIBSUFFIX)=.zip) | |||||
| LIBS = $(TOPDIR)/$(LIBNAME) | LIBS = $(TOPDIR)/$(LIBNAME) | ||||
| LIBS_P = $(TOPDIR)/$(LIBNAME_P) | LIBS_P = $(TOPDIR)/$(LIBNAME_P) | ||||
| LIB_COMPONENTS = BLAS | |||||
| ifneq ($(NO_CBLAS), 1) | |||||
| LIB_COMPONENTS += CBLAS | |||||
| endif | |||||
| ifneq ($(NO_LAPACK), 1) | |||||
| LIB_COMPONENTS += LAPACK | |||||
| ifneq ($(NO_LAPACKE), 1) | |||||
| LIB_COMPONENTS += LAPACKE | |||||
| endif | |||||
| endif | |||||
| ifeq ($(ONLY_CBLAS), 1) | |||||
| LIB_COMPONENTS = CBLAS | |||||
| endif | |||||
| export OSNAME | export OSNAME | ||||
| export ARCH | export ARCH | ||||
| export CORE | export CORE | ||||
| @@ -947,6 +971,7 @@ export USE_OPENMP | |||||
| export CROSS | export CROSS | ||||
| export CROSS_SUFFIX | export CROSS_SUFFIX | ||||
| export NOFORTRAN | export NOFORTRAN | ||||
| export NO_FBLAS | |||||
| export EXTRALIB | export EXTRALIB | ||||
| export CEXTRALIB | export CEXTRALIB | ||||
| export FEXTRALIB | export FEXTRALIB | ||||