Fixed #20. Added install target in makefile. You can use "make install PREFIX=your_installation_directory".
This commit is contained in:
parent
4335bca2f7
commit
fab36f1adb
63
Makefile
63
Makefile
|
@ -15,6 +15,10 @@ ifdef SANITY_CHECK
|
|||
BLASDIRS += reference
|
||||
endif
|
||||
|
||||
ifndef PREFIX
|
||||
PREFIX = /opt/OpenBLAS
|
||||
endif
|
||||
|
||||
SUBDIRS = $(BLASDIRS)
|
||||
ifneq ($(NO_LAPACK), 1)
|
||||
SUBDIRS += lapack
|
||||
|
@ -111,6 +115,7 @@ ifdef DYNAMIC_ARCH
|
|||
do $(MAKE) GOTOBLAS_MAKEFILE= -C kernel TARGET_CORE=$$d kernel || exit 1 ;\
|
||||
done
|
||||
endif
|
||||
touch lib.grd
|
||||
|
||||
prof : prof_blas prof_lapack
|
||||
|
||||
|
@ -230,6 +235,63 @@ lapack-test :
|
|||
|
||||
dummy :
|
||||
|
||||
lib.grd :
|
||||
$(error OpenBLAS: Please run "make" firstly)
|
||||
|
||||
install : lib.grd
|
||||
@-mkdir -p $(PREFIX)
|
||||
@echo Generating openblas_config.h in $(PREFIX)
|
||||
#for inc
|
||||
@echo \#ifndef OPENBLAS_CONFIG_H > $(PREFIX)/openblas_config.h
|
||||
@echo \#define OPENBLAS_CONFIG_H >> $(PREFIX)/openblas_config.h
|
||||
@cat config.h >> $(PREFIX)/openblas_config.h
|
||||
@echo \#define VERSION \" OpenBLAS $(VERSION) \" >> $(PREFIX)/openblas_config.h
|
||||
@cat openblas_config_template.h >> $(PREFIX)/openblas_config.h
|
||||
@echo \#endif >> $(PREFIX)/openblas_config.h
|
||||
|
||||
@echo Generating f77blas.h in $(PREFIX)
|
||||
@echo \#ifndef OPENBLAS_F77BLAS_H > $(PREFIX)/f77blas.h
|
||||
@echo \#define OPENBLAS_F77BLAS_H >> $(PREFIX)/f77blas.h
|
||||
@echo \#include \"openblas_config.h\" >> $(PREFIX)/f77blas.h
|
||||
@cat common_interface.h >> $(PREFIX)/f77blas.h
|
||||
@echo \#endif >> $(PREFIX)/f77blas.h
|
||||
|
||||
@echo Generating cblas.h in $(PREFIX)
|
||||
@sed 's/common/openblas_config/g' cblas.h > $(PREFIX)/cblas.h
|
||||
|
||||
#for install static library
|
||||
@echo Copy the static library to $(PREFIX)
|
||||
@cp $(LIBNAME) $(PREFIX)
|
||||
@-ln -fs $(PREFIX)/$(LIBNAME) $(PREFIX)/libopenblas.$(LIBSUFFIX)
|
||||
#for install shared library
|
||||
@echo Copy the shared library to $(PREFIX)
|
||||
ifeq ($(OSNAME), Linux)
|
||||
-cp $(LIBSONAME) $(PREFIX)
|
||||
-ln -fs $(PREFIX)/$(LIBSONAME) $(PREFIX)/libopenblas.so
|
||||
endif
|
||||
ifeq ($(OSNAME), FreeBSD)
|
||||
-cp $(LIBSONAME) $(PREFIX)
|
||||
-ln -fs $(PREFIX)/$(LIBSONAME) $(PREFIX)/libopenblas.so
|
||||
endif
|
||||
ifeq ($(OSNAME), NetBSD)
|
||||
-cp $(LIBSONAME) $(PREFIX)
|
||||
-ln -fs $(PREFIX)/$(LIBSONAME) $(PREFIX)/libopenblas.so
|
||||
endif
|
||||
ifeq ($(OSNAME), Darwin)
|
||||
-cp $(LIBDYNNAME) $(PREFIX)
|
||||
-ln -fs $(PREFIX)/$(LIBDYNNAME) $(PREFIX)/libopenblas.dylib
|
||||
endif
|
||||
ifeq ($(OSNAME), WINNT)
|
||||
-cp $(LIBDLLNAME) $(PREFIX)
|
||||
-ln -fs $(PREFIX)/$(LIBDLLNAME) $(PREFIX)/libopenblas.dll
|
||||
endif
|
||||
ifeq ($(OSNAME), CYGWIN_NT)
|
||||
-cp $(LIBDLLNAME) $(PREFIX)
|
||||
-ln -fs $(PREFIX)/$(LIBDLLNAME) $(PREFIX)/libopenblas.dll
|
||||
endif
|
||||
|
||||
@echo Install OK!
|
||||
|
||||
clean ::
|
||||
@for d in $(SUBDIRS_ALL) ; \
|
||||
do if test -d $$d; then \
|
||||
|
@ -245,4 +307,5 @@ endif
|
|||
echo deleting lapack-3.1.1; \
|
||||
rm -rf lapack-3.1.1 ;\
|
||||
fi
|
||||
@rm -f *.grd
|
||||
@echo Done.
|
|
@ -91,6 +91,9 @@ VERSION = 0.1alpha2
|
|||
# SANITY_CHECK to compare the result with reference BLAS.
|
||||
# UTEST_CHECK = 1
|
||||
|
||||
# The installation directory.
|
||||
# PREFIX = /opt/OpenBLAS
|
||||
|
||||
# Common Optimization Flag; -O2 is enough.
|
||||
# DEBUG = 1
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
/*This is only for "make install" target.*/
|
||||
|
||||
#ifdef NEEDBUNDERSCORE
|
||||
#define BLASFUNC(FUNC) FUNC##_
|
||||
#else
|
||||
#define BLASFUNC(FUNC) FUNC
|
||||
#endif
|
||||
|
||||
#if defined(OS_WINDOWS) && defined(__64BIT__)
|
||||
typedef long long BLASLONG;
|
||||
typedef unsigned long long BLASULONG;
|
||||
#else
|
||||
typedef long BLASLONG;
|
||||
typedef unsigned long BLASULONG;
|
||||
#endif
|
||||
|
||||
#ifdef USE64BITINT
|
||||
typedef BLASLONG blasint;
|
||||
#else
|
||||
typedef int blasint;
|
||||
#endif
|
Loading…
Reference in New Issue