fix build error
[platform/upstream/openblas.git] / Makefile
index 56b4426..60f189e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -21,9 +21,20 @@ ifeq ($(BUILD_RELAPACK), 1)
 RELA = re_lapack
 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))
 
-SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench
+SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test
 
 .PHONY : all libs netlib $(RELA) test ctest shared install
 .NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test
@@ -47,7 +58,7 @@ endif
 endif
 
        @echo "  C compiler       ... $(C_COMPILER)  (command line : $(CC))"
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        @echo "  Fortran compiler ... $(F_COMPILER)  (command line : $(FC))"
 endif
 ifneq ($(OSNAME), AIX)
@@ -85,8 +96,8 @@ endif
        @echo
 
 shared :
-ifndef NO_SHARED
-ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android))
+ifneq ($(NO_SHARED), 1)
+ifeq ($(OSNAME), $(filter $(OSNAME),Linux SunOS Android Haiku))
        @$(MAKE) -C exports so
        @ln -fs $(LIBSONAME) $(LIBPREFIX).so
        @ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION)
@@ -98,6 +109,7 @@ endif
 ifeq ($(OSNAME), Darwin)
        @$(MAKE) -C exports dyn
        @ln -fs $(LIBDYNNAME) $(LIBPREFIX).dylib
+       @ln -fs $(LIBDYNNAME) $(LIBPREFIX).$(MAJOR_VERSION).dylib
 endif
 ifeq ($(OSNAME), WINNT)
        @$(MAKE) -C exports dll
@@ -108,19 +120,22 @@ endif
 endif
 
 tests :
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        touch $(LIBNAME)
 ifndef NO_FBLAS
        $(MAKE) -C test all
-       $(MAKE) -C utest all
 endif
+       $(MAKE) -C utest all
 ifndef NO_CBLAS
        $(MAKE) -C ctest all
+ifeq ($(CPP_THREAD_SAFETY_TEST), 1)
+       $(MAKE) -C cpp_thread_test all
+endif
 endif
 endif
 
 libs :
-ifeq ($(CORE), UNKOWN)
+ifeq ($(CORE), UNKNOWN)
        $(error OpenBLAS: Detecting CPU failed. Please set TARGET explicitly, e.g. make TARGET=your_cpu_target. Please read README for the detail.)
 endif
 ifeq ($(NOFORTRAN), 1)
@@ -210,7 +225,7 @@ netlib :
 
 else
 netlib : lapack_prebuild
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
        @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
 endif
@@ -231,7 +246,7 @@ prof_lapack : lapack_prebuild
        @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
 
 lapack_prebuild :
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        -@echo "FORTRAN     = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "OPTS        = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@echo "POPTS       = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
@@ -240,7 +255,7 @@ ifndef NOFORTRAN
        -@echo "LOADOPTS    = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
        -@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 "override ARCH        = $(AR)" >> $(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
@@ -256,6 +271,8 @@ ifeq ($(F_COMPILER), GFORTRAN)
 ifdef SMP
 ifeq ($(OSNAME), WINNT)
        -@echo "LOADER      = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
+else ifeq ($(OSNAME), Haiku)
+       -@echo "LOADER      = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc
 else
        -@echo "LOADER      = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc
 endif
@@ -274,21 +291,21 @@ endif
 endif
 
 large.tgz :
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        if [ ! -a $< ]; then
        -wget http://www.netlib.org/lapack/timing/large.tgz;
        fi
 endif
 
 timing.tgz :
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        if [ ! -a $< ]; then
        -wget http://www.netlib.org/lapack/timing/timing.tgz;
        fi
 endif
 
 lapack-timing : large.tgz timing.tgz
-ifndef NOFORTRAN
+ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
        (cd $(NETLIB_LAPACK_DIR); $(TAR) zxf ../timing.tgz TIMING)
        (cd $(NETLIB_LAPACK_DIR)/TIMING; $(TAR) zxf ../../large.tgz )
        $(MAKE) -C $(NETLIB_LAPACK_DIR)/TIMING