From 32353a9d3085c9de7b95342e4be5e4c816ee8593 Mon Sep 17 00:00:00 2001 From: Xianyi Zhang Date: Tue, 21 Jun 2011 17:39:08 +0800 Subject: [PATCH] Refs #20. Fixed the installation bug with DYNAMIC_ARCH=1. --- Makefile | 72 ++++++++---------------------------------------- Makefile.install | 65 +++++++++++++++++++++++++++++++++++++++++++ kernel/Makefile | 4 +-- 3 files changed, 78 insertions(+), 63 deletions(-) create mode 100644 Makefile.install diff --git a/Makefile b/Makefile index 3bca1337f..c480fc47d 100644 --- a/Makefile +++ b/Makefile @@ -26,8 +26,8 @@ endif SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench -.PHONY : all libs netlib test ctest shared -.NOTPARALLEL : all libs prof lapack-test +.PHONY : all libs netlib test ctest shared install +.NOTPARALLEL : all libs prof lapack-test install all :: libs netlib tests shared @echo @@ -109,11 +109,15 @@ endif $(MAKE) -C $$d $(@F) || exit 1 ; \ fi; \ done +#Save the config files for installation + cp Makefile.conf Makefile.conf_last + cp config.h config_last.h ifdef DYNAMIC_ARCH $(MAKE) -C kernel commonlibs || exit 1 for d in $(DYNAMIC_CORE) ; \ do $(MAKE) GOTOBLAS_MAKEFILE= -C kernel TARGET_CORE=$$d kernel || exit 1 ;\ done + echo DYNAMIC_ARCH=1 >> Makefile.conf_last endif touch lib.grd @@ -235,62 +239,8 @@ 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! +install : + $(MAKE) -f Makefile.install install clean :: @for d in $(SUBDIRS_ALL) ; \ @@ -298,14 +248,14 @@ clean :: $(MAKE) -C $$d $(@F) || exit 1 ; \ fi; \ done -ifdef DYNAMIC_ARCH +#ifdef DYNAMIC_ARCH @$(MAKE) -C kernel clean -endif +#endif @rm -f *.$(LIBSUFFIX) *.so *~ *.exe getarch getarch_2nd *.dll *.lib *.$(SUFFIX) *.dwf libopenblas.$(LIBSUFFIX) libopenblas_p.$(LIBSUFFIX) *.lnk myconfig.h @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib @if test -d lapack-3.1.1; then \ echo deleting lapack-3.1.1; \ rm -rf lapack-3.1.1 ;\ fi - @rm -f *.grd + @rm -f *.grd Makefile.conf_last config_last.h @echo Done. \ No newline at end of file diff --git a/Makefile.install b/Makefile.install new file mode 100644 index 000000000..80dafc9c6 --- /dev/null +++ b/Makefile.install @@ -0,0 +1,65 @@ +TOPDIR = . +export GOTOBLAS_MAKEFILE = 1 +-include $(TOPDIR)/Makefile.conf_last +include ./Makefile.system + +.PHONY : install +.NOTPARALLEL : install + +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_last.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! + diff --git a/kernel/Makefile b/kernel/Makefile index a3a32de81..aed145b60 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -118,10 +118,10 @@ lsame.$(PSUFFIX): $(KERNELDIR)/$(LSAME_KERNEL) cpuid.$(PSUFFIX): $(KERNELDIR)/cpuid.S $(CC) -c $(PFLAGS) $< -o $(@F) -ifdef DYNAMIC_ARCH +#ifdef DYNAMIC_ARCH clean :: @rm -f setparam_*.c kernel_*.h setparam.h kernel.h -endif +#endif include $(TOPDIR)/Makefile.tail