diff --git a/Makefile.system b/Makefile.system index eac61e961..5f8c251b0 100644 --- a/Makefile.system +++ b/Makefile.system @@ -514,11 +514,28 @@ ifdef INTERFACE64 FCOMMON_OPT += -i8 endif endif + +ifeq ($(ARCH), mips64) +ifndef BINARY64 +FCOMMON_OPT += -n32 +else +FCOMMON_OPT += -n64 +endif +ifeq ($(CORE), LOONGSON3A) +FCOMMON_OPT += -loongson3 +endif + +ifeq ($(CORE), LOONGSON3B) +FCOMMON_OPT += -loongson3 +endif + +else ifndef BINARY64 FCOMMON_OPT += -m32 else FCOMMON_OPT += -m64 endif +endif ifdef USE_OPENMP FEXTRALIB += -lstdc++ @@ -527,12 +544,30 @@ endif endif ifeq ($(C_COMPILER), OPEN64) + +ifeq ($(ARCH), mips64) +ifndef BINARY64 +CCOMMON_OPT += -n32 +else +CCOMMON_OPT += -n64 +endif +ifeq ($(CORE), LOONGSON3A) +CCOMMON_OPT += -loongson3 +endif + +ifeq ($(CORE), LOONGSON3B) +CCOMMON_OPT += -loongson3 +endif + +else + ifndef BINARY64 CCOMMON_OPT += -m32 else CCOMMON_OPT += -m64 endif endif +endif ifeq ($(C_COMPILER), SUN) CCOMMON_OPT += -w diff --git a/README.md b/README.md index f932b5141..0e3a49530 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,10 @@ On X86 box, compile this library for loongson3a CPU. make BINARY=64 CC=mips64el-unknown-linux-gnu-gcc FC=mips64el-unknown-linux-gnu-gfortran HOSTCC=gcc TARGET=LOONGSON3A +On X86 box, compile this library for loongson3a CPU with loongcc (based on Open64) compiler. + + make CC=loongcc FC=loongf95 HOSTCC=gcc TARGET=LOONGSON3A CROSS=1 CROSS_SUFFIX=mips64el-st-linux-gnu- NO_LAPACKE=1 NO_SHARED=1 BINARY=32 + ### Debug version make DEBUG=1