Merge pull request #1629 from martin-frbg/issue1628
Make gfortran link libomp for clang in the tests; avoid two typical gotchas with NOFORTRAN
This commit is contained in:
commit
ef6f0b645e
28
Makefile
28
Makefile
|
@ -21,6 +21,17 @@ ifeq ($(BUILD_RELAPACK), 1)
|
||||||
RELA = re_lapack
|
RELA = re_lapack
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(NO_FORTRAN), 1)
|
||||||
|
define NOFORTRAN
|
||||||
|
1
|
||||||
|
endef
|
||||||
|
define NO_LAPACK
|
||||||
|
1
|
||||||
|
endef
|
||||||
|
export NOFORTRAN
|
||||||
|
export NO_LAPACK
|
||||||
|
endif
|
||||||
|
|
||||||
LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast,$(LAPACK_FFLAGS))
|
LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast,$(LAPACK_FFLAGS))
|
||||||
|
|
||||||
SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench
|
SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench
|
||||||
|
@ -47,7 +58,7 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@echo " C compiler ... $(C_COMPILER) (command line : $(CC))"
|
@echo " C compiler ... $(C_COMPILER) (command line : $(CC))"
|
||||||
ifndef NOFORTRAN
|
ifneq ($(NOFORTRAN), $(filter-out $(NOFORTRAN), 1 2))
|
||||||
@echo " Fortran compiler ... $(F_COMPILER) (command line : $(FC))"
|
@echo " Fortran compiler ... $(F_COMPILER) (command line : $(FC))"
|
||||||
endif
|
endif
|
||||||
ifneq ($(OSNAME), AIX)
|
ifneq ($(OSNAME), AIX)
|
||||||
|
@ -108,7 +119,7 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
tests :
|
tests :
|
||||||
ifndef NOFORTRAN
|
ifneq ($(NOFORTRAN), $(filter-out $(NOFORTRAN), 1 2))
|
||||||
touch $(LIBNAME)
|
touch $(LIBNAME)
|
||||||
ifndef NO_FBLAS
|
ifndef NO_FBLAS
|
||||||
$(MAKE) -C test all
|
$(MAKE) -C test all
|
||||||
|
@ -210,7 +221,7 @@ netlib :
|
||||||
|
|
||||||
else
|
else
|
||||||
netlib : lapack_prebuild
|
netlib : lapack_prebuild
|
||||||
ifndef NOFORTRAN
|
ifneq ($(NOFORTRAN), $(filter-out $(NOFORTRAN), 1 2))
|
||||||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
|
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
|
||||||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
|
@$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
|
||||||
endif
|
endif
|
||||||
|
@ -231,7 +242,10 @@ prof_lapack : lapack_prebuild
|
||||||
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
|
@$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
|
||||||
|
|
||||||
lapack_prebuild :
|
lapack_prebuild :
|
||||||
ifndef NOFORTRAN
|
$(info filter value of NOFORTRAN is:)
|
||||||
|
$(info x$(filter-out $(NOFORTRAN), 1 2)x)
|
||||||
|
|
||||||
|
ifneq ($(NOFORTRAN), $(filter-out $(NOFORTRAN), 1 2))
|
||||||
-@echo "FORTRAN = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
|
-@echo "FORTRAN = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
|
||||||
-@echo "OPTS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
-@echo "OPTS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||||
-@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
-@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
|
||||||
|
@ -274,21 +288,21 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
large.tgz :
|
large.tgz :
|
||||||
ifndef NOFORTRAN
|
ifneq ($(NOFORTRAN), $(filter $(NOFORTRAN), 1 2))
|
||||||
if [ ! -a $< ]; then
|
if [ ! -a $< ]; then
|
||||||
-wget http://www.netlib.org/lapack/timing/large.tgz;
|
-wget http://www.netlib.org/lapack/timing/large.tgz;
|
||||||
fi
|
fi
|
||||||
endif
|
endif
|
||||||
|
|
||||||
timing.tgz :
|
timing.tgz :
|
||||||
ifndef NOFORTRAN
|
ifneq ($(NOFORTRAN), $(filter $(NOFORTRAN), 1 2))
|
||||||
if [ ! -a $< ]; then
|
if [ ! -a $< ]; then
|
||||||
-wget http://www.netlib.org/lapack/timing/timing.tgz;
|
-wget http://www.netlib.org/lapack/timing/timing.tgz;
|
||||||
fi
|
fi
|
||||||
endif
|
endif
|
||||||
|
|
||||||
lapack-timing : large.tgz timing.tgz
|
lapack-timing : large.tgz timing.tgz
|
||||||
ifndef NOFORTRAN
|
ifneq ($(NOFORTRAN), $(filter $(NOFORTRAN), 1 2))
|
||||||
(cd $(NETLIB_LAPACK_DIR); $(TAR) zxf ../timing.tgz TIMING)
|
(cd $(NETLIB_LAPACK_DIR); $(TAR) zxf ../timing.tgz TIMING)
|
||||||
(cd $(NETLIB_LAPACK_DIR)/TIMING; $(TAR) zxf ../../large.tgz )
|
(cd $(NETLIB_LAPACK_DIR)/TIMING; $(TAR) zxf ../../large.tgz )
|
||||||
$(MAKE) -C $(NETLIB_LAPACK_DIR)/TIMING
|
$(MAKE) -C $(NETLIB_LAPACK_DIR)/TIMING
|
||||||
|
|
|
@ -102,7 +102,13 @@ clean ::
|
||||||
rm -f x*
|
rm -f x*
|
||||||
|
|
||||||
FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
|
FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
|
||||||
CEXTRALIB =
|
ifeq ($(USE_OPENMP), 1)
|
||||||
|
ifeq ($(F_COMPILER), GFORTRAN)
|
||||||
|
ifeq ($(C_COMPILER), CLANG)
|
||||||
|
CEXTRALIB = -lomp
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Single real
|
# Single real
|
||||||
xscblat1: $(stestl1o) c_sblat1.o $(TOPDIR)/$(LIBNAME)
|
xscblat1: $(stestl1o) c_sblat1.o $(TOPDIR)/$(LIBNAME)
|
||||||
|
|
|
@ -122,8 +122,13 @@ endif
|
||||||
|
|
||||||
|
|
||||||
FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
|
FLDFLAGS = $(FFLAGS:-fPIC=) $(LDFLAGS)
|
||||||
CEXTRALIB =
|
ifeq ($(USE_OPENMP), 1)
|
||||||
|
ifeq ($(F_COMPILER), GFORTRAN)
|
||||||
|
ifeq ($(C_COMPILER), CLANG)
|
||||||
|
CEXTRALIB = -lomp
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
sblat1 : sblat1.$(SUFFIX) ../$(LIBNAME)
|
sblat1 : sblat1.$(SUFFIX) ../$(LIBNAME)
|
||||||
$(FC) $(FLDFLAGS) -o sblat1 sblat1.$(SUFFIX) ../$(LIBNAME) $(EXTRALIB) $(CEXTRALIB)
|
$(FC) $(FLDFLAGS) -o sblat1 sblat1.$(SUFFIX) ../$(LIBNAME) $(EXTRALIB) $(CEXTRALIB)
|
||||||
|
|
Loading…
Reference in New Issue