@@ -82,28 +82,28 @@ endif | |||||
shared : | shared : | ||||
ifeq ($(OSNAME), Linux) | ifeq ($(OSNAME), Linux) | ||||
$(MAKE) -C exports so | $(MAKE) -C exports so | ||||
-ln -fs $(LIBSONAME) libopenblas.so | |||||
-ln -fs $(LIBSONAME) libopenblas.so.$(MAJOR_VERSION) | |||||
-ln -fs $(LIBSONAME) $(LIBPREFIX).so | |||||
-ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION) | |||||
endif | endif | ||||
ifeq ($(OSNAME), FreeBSD) | ifeq ($(OSNAME), FreeBSD) | ||||
$(MAKE) -C exports so | $(MAKE) -C exports so | ||||
-ln -fs $(LIBSONAME) libopenblas.so | |||||
-ln -fs $(LIBSONAME) $(LIBPREFIX).so | |||||
endif | endif | ||||
ifeq ($(OSNAME), NetBSD) | ifeq ($(OSNAME), NetBSD) | ||||
$(MAKE) -C exports so | $(MAKE) -C exports so | ||||
-ln -fs $(LIBSONAME) libopenblas.so | |||||
-ln -fs $(LIBSONAME) $(LIBPREFIX).so | |||||
endif | endif | ||||
ifeq ($(OSNAME), Darwin) | ifeq ($(OSNAME), Darwin) | ||||
$(MAKE) -C exports dyn | $(MAKE) -C exports dyn | ||||
-ln -fs $(LIBDYNNAME) libopenblas.dylib | |||||
-ln -fs $(LIBDYNNAME) $(LIBPREFIX).dylib | |||||
endif | endif | ||||
ifeq ($(OSNAME), WINNT) | ifeq ($(OSNAME), WINNT) | ||||
$(MAKE) -C exports dll | $(MAKE) -C exports dll | ||||
-ln -fs $(LIBDLLNAME) libopenblas.dll | |||||
-ln -fs $(LIBDLLNAME) $(LIBPREFIX).dll | |||||
endif | endif | ||||
ifeq ($(OSNAME), CYGWIN_NT) | ifeq ($(OSNAME), CYGWIN_NT) | ||||
$(MAKE) -C exports dll | $(MAKE) -C exports dll | ||||
-ln -fs $(LIBDLLNAME) libopenblas.dll | |||||
-ln -fs $(LIBDLLNAME) $(LIBPREFIX).dll | |||||
endif | endif | ||||
tests : | tests : | ||||
@@ -131,7 +131,7 @@ endif | |||||
ifeq ($(NOFORTRAN), 1) | ifeq ($(NOFORTRAN), 1) | ||||
$(error OpenBLAS: Detecting fortran compiler failed. Please install fortran compiler, e.g. gfortran, ifort, openf90.) | $(error OpenBLAS: Detecting fortran compiler failed. Please install fortran compiler, e.g. gfortran, ifort, openf90.) | ||||
endif | endif | ||||
-ln -fs $(LIBNAME) libopenblas.$(LIBSUFFIX) | |||||
-ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) | |||||
for d in $(SUBDIRS) ; \ | for d in $(SUBDIRS) ; \ | ||||
do if test -d $$d; then \ | do if test -d $$d; then \ | ||||
$(MAKE) -C $$d $(@F) || exit 1 ; \ | $(MAKE) -C $$d $(@F) || exit 1 ; \ | ||||
@@ -159,7 +159,7 @@ endif | |||||
prof : prof_blas prof_lapack | prof : prof_blas prof_lapack | ||||
prof_blas : | prof_blas : | ||||
ln -fs $(LIBNAME_P) libopenblas_p.$(LIBSUFFIX) | |||||
ln -fs $(LIBNAME_P) $(LIBPREFIX)_p.$(LIBSUFFIX) | |||||
for d in $(SUBDIRS) ; \ | for d in $(SUBDIRS) ; \ | ||||
do if test -d $$d; then \ | do if test -d $$d; then \ | ||||
$(MAKE) -C $$d prof || exit 1 ; \ | $(MAKE) -C $$d prof || exit 1 ; \ | ||||
@@ -170,7 +170,7 @@ ifdef DYNAMIC_ARCH | |||||
endif | endif | ||||
blas : | blas : | ||||
ln -fs $(LIBNAME) libopenblas.$(LIBSUFFIX) | |||||
ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) | |||||
for d in $(BLASDIRS) ; \ | for d in $(BLASDIRS) ; \ | ||||
do if test -d $$d; then \ | do if test -d $$d; then \ | ||||
$(MAKE) -C $$d libs || exit 1 ; \ | $(MAKE) -C $$d libs || exit 1 ; \ | ||||
@@ -178,7 +178,7 @@ blas : | |||||
done | done | ||||
hpl : | hpl : | ||||
ln -fs $(LIBNAME) libopenblas.$(LIBSUFFIX) | |||||
ln -fs $(LIBNAME) $(LIBPREFIX).$(LIBSUFFIX) | |||||
for d in $(BLASDIRS) ../laswp exports ; \ | for d in $(BLASDIRS) ../laswp exports ; \ | ||||
do if test -d $$d; then \ | do if test -d $$d; then \ | ||||
$(MAKE) -C $$d $(@F) || exit 1 ; \ | $(MAKE) -C $$d $(@F) || exit 1 ; \ | ||||
@@ -192,7 +192,7 @@ ifdef DYNAMIC_ARCH | |||||
endif | endif | ||||
hpl_p : | hpl_p : | ||||
ln -fs $(LIBNAME_P) libopenblas_p.$(LIBSUFFIX) | |||||
ln -fs $(LIBNAME_P) $(LIBPREFIX)_p.$(LIBSUFFIX) | |||||
for d in $(SUBDIRS) ../laswp exports ; \ | for d in $(SUBDIRS) ../laswp exports ; \ | ||||
do if test -d $$d; then \ | do if test -d $$d; then \ | ||||
$(MAKE) -C $$d $(@F) || exit 1 ; \ | $(MAKE) -C $$d $(@F) || exit 1 ; \ | ||||
@@ -287,7 +287,7 @@ clean :: | |||||
@$(MAKE) -C kernel clean | @$(MAKE) -C kernel clean | ||||
#endif | #endif | ||||
@$(MAKE) -C reference clean | @$(MAKE) -C reference clean | ||||
@rm -f *.$(LIBSUFFIX) *.so *~ *.exe getarch getarch_2nd *.dll *.lib *.$(SUFFIX) *.dwf libopenblas.$(LIBSUFFIX) libopenblas_p.$(LIBSUFFIX) *.lnk myconfig.h | |||||
@rm -f *.$(LIBSUFFIX) *.so *~ *.exe getarch getarch_2nd *.dll *.lib *.$(SUFFIX) *.dwf $(LIBPREFIX).$(LIBSUFFIX) $(LIBPREFIX)_p.$(LIBSUFFIX) $(LIBPREFIX).so.$(MAJOR_VERSION) *.lnk myconfig.h | |||||
@rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib | @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib | ||||
@if test -d lapack-3.4.0; then \ | @if test -d lapack-3.4.0; then \ | ||||
echo deleting lapack-3.4.0; \ | echo deleting lapack-3.4.0; \ | ||||
@@ -38,34 +38,34 @@ install : lib.grd | |||||
#for install static library | #for install static library | ||||
@echo Copy the static library to $(OPENBLAS_LIBRARY_DIR) | @echo Copy the static library to $(OPENBLAS_LIBRARY_DIR) | ||||
@cp $(LIBNAME) $(OPENBLAS_LIBRARY_DIR) | @cp $(LIBNAME) $(OPENBLAS_LIBRARY_DIR) | ||||
@-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.$(LIBSUFFIX) | |||||
@-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).$(LIBSUFFIX) | |||||
#for install shared library | #for install shared library | ||||
@echo Copy the shared library to $(OPENBLAS_LIBRARY_DIR) | @echo Copy the shared library to $(OPENBLAS_LIBRARY_DIR) | ||||
ifeq ($(OSNAME), Linux) | ifeq ($(OSNAME), Linux) | ||||
-cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) | -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) | ||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so.$(MAJOR_VERSION) | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).so | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).so.$(MAJOR_VERSION) | |||||
endif | endif | ||||
ifeq ($(OSNAME), FreeBSD) | ifeq ($(OSNAME), FreeBSD) | ||||
-cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) | -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) | ||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).so | |||||
endif | endif | ||||
ifeq ($(OSNAME), NetBSD) | ifeq ($(OSNAME), NetBSD) | ||||
-cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) | -cp $(LIBSONAME) $(OPENBLAS_LIBRARY_DIR) | ||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.so | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBSONAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).so | |||||
endif | endif | ||||
ifeq ($(OSNAME), Darwin) | ifeq ($(OSNAME), Darwin) | ||||
-cp $(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR) | -cp $(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR) | ||||
-install_name_tool -id $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) | -install_name_tool -id $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) | ||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.dylib | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDYNNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dylib | |||||
endif | endif | ||||
ifeq ($(OSNAME), WINNT) | ifeq ($(OSNAME), WINNT) | ||||
-cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR) | -cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR) | ||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.dll | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dll | |||||
endif | endif | ||||
ifeq ($(OSNAME), CYGWIN_NT) | ifeq ($(OSNAME), CYGWIN_NT) | ||||
-cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR) | -cp $(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR) | ||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)/libopenblas.dll | |||||
-ln -fs $(OPENBLAS_LIBRARY_DIR)/$(LIBDLLNAME) $(OPENBLAS_LIBRARY_DIR)/$(LIBPREFIX).dll | |||||
endif | endif | ||||
@echo Install OK! | @echo Install OK! | ||||
@@ -5,6 +5,11 @@ | |||||
# This library's version | # This library's version | ||||
VERSION = 0.1alpha2.5 | VERSION = 0.1alpha2.5 | ||||
# If you set the suffix, the library name will be libopenblas_$(LIBNAMESUFFIX).a | |||||
# and libopenblas_$(LIBNAMESUFFIX).so. Meanwhile, the soname in shared library | |||||
# is libopenblas_$(LIBNAMESUFFIX).so.0. | |||||
# LIBNAMESUFFIX = omp | |||||
# You can specify the target architecture, otherwise it's | # You can specify the target architecture, otherwise it's | ||||
# automatically detected. | # automatically detected. | ||||
# TARGET = PENRYN | # TARGET = PENRYN | ||||
@@ -569,7 +569,11 @@ ifdef USE_SIMPLE_THREADED_LEVEL3 | |||||
CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3 | CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3 | ||||
endif | endif | ||||
ifndef LIBNAMESUFFIX | |||||
LIBPREFIX = libopenblas | LIBPREFIX = libopenblas | ||||
else | |||||
LIBPREFIX = libopenblas_$(LIBNAMESUFFIX) | |||||
endif | |||||
KERNELDIR = $(TOPDIR)/kernel/$(ARCH) | KERNELDIR = $(TOPDIR)/kernel/$(ARCH) | ||||
@@ -100,7 +100,7 @@ so : ../$(LIBSONAME) | |||||
../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c | ../$(LIBSONAME) : ../$(LIBNAME) linux.def linktest.c | ||||
$(CC) $(CFLAGS) -shared -o ../$(LIBSONAME) \ | $(CC) $(CFLAGS) -shared -o ../$(LIBSONAME) \ | ||||
-Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \ | -Wl,--whole-archive ../$(LIBNAME) -Wl,--no-whole-archive \ | ||||
-Wl,--retain-symbols-file=linux.def -Wl,-soname,libopenblas.so.$(MAJOR_VERSION) $(EXTRALIB) | |||||
-Wl,--retain-symbols-file=linux.def -Wl,-soname,$(LIBPREFIX).so.$(MAJOR_VERSION) $(EXTRALIB) | |||||
$(CC) $(CFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK. | $(CC) $(CFLAGS) -w -o linktest linktest.c ../$(LIBSONAME) $(FEXTRALIB) && echo OK. | ||||
rm -f linktest | rm -f linktest | ||||