Commit 940deee68e04a3e134076924383b1e2d2a2071f1

Authored by wdaniau
1 parent 3cee84f227
Exists in master

Added necessary flags to also build shared libraries.

git-svn-id: https://lxsd.femto-st.fr/svn/atlas@6 dff38a21-2163-4b57-a1b5-aae693bec1e4

Showing 3 changed files with 11 additions and 4 deletions Inline Diff

# Makefile pour compiler lapack + atlas avec gfortran + gcc 1 1 # Makefile pour compiler lapack + atlas avec gfortran + gcc
# Il faut au préalable placer le processeur en mode performance 2 2 # Il faut au préalable placer le processeur en mode performance
3 3
all: 4 4 all:
( ./build.sh ) 5 5 ( ./build.sh )
6 6
install: 7 7 install:
( cp ATLAS/install/lib/*.a $(BTREE)/lib ) 8 8 ( cp ATLAS/install/lib/* $(BTREE)/lib )
9 9
clean: 10 10 clean:
#!/bin/bash 1 1 #!/bin/bash
2 2
echo "FR Mettre le processeur en mode performances (important pour atlas)" 3 3 echo "FR Mettre le processeur en mode performances (important pour atlas)"
echo "FR + sous kde clic droit sur kpowersave " 4 4 echo "FR + sous kde clic droit sur kpowersave "
echo "FR -> Définir les règles de fréquence du processeur" 5 5 echo "FR -> Définir les règles de fréquence du processeur"
echo "FR -> Performances" 6 6 echo "FR -> Performances"
echo "FR + avec les cpufrequtils en root : cpufreq-set -g performance" 7 7 echo "FR + avec les cpufrequtils en root : cpufreq-set -g performance"
echo 8 8 echo
echo "FR Si ce n'est pas fait tapez <Ctrl> C pour interrompre " 9 9 echo "FR Si ce n'est pas fait tapez <Ctrl> C pour interrompre "
echo "FR sinon continuez avec <Entree>" 10 10 echo "FR sinon continuez avec <Entree>"
echo 11 11 echo
echo "EN Processor must be in performance mode (important for atlas)" 12 12 echo "EN Processor must be in performance mode (important for atlas)"
echo "EN + under kde right-clic on kpowersave " 13 13 echo "EN + under kde right-clic on kpowersave "
echo "EN -> Processor frequency rules" 14 14 echo "EN -> Processor frequency rules"
echo "EN -> Performances" 15 15 echo "EN -> Performances"
echo "EN + with cpufrequtils under root : cpufreq-set -g performance" 16 16 echo "EN + with cpufrequtils under root : cpufreq-set -g performance"
echo 17 17 echo
echo "EN If it is not the case type <Ctrl> C to interrupt now " 18 18 echo "EN If it is not the case type <Ctrl> C to interrupt now "
echo "EN otherwise continue with <Enter>" 19 19 echo "EN otherwise continue with <Enter>"
20 20
21 21
22 22
23 23
read a 24 24 read a
25 25
# Unpack lapack archive 26 26 # Unpack lapack archive
echo "Archive lapack (netlib)" 27 27 echo "Archive lapack (netlib)"
tar xzf lapack.tgz 28 28 tar xzf lapack.tgz
29 29
# Compilation lapack 30 30 # Compilation lapack
cp make.inc.gfortran.lapack lapack-3.1.1/make.inc 31 31 cp make.inc.gfortran.lapack lapack-3.1.1/make.inc
cd lapack-3.1.1 32 32 cd lapack-3.1.1
make lapacklib 33 33 make lapacklib
cd .. 34 34 cd ..
35 35
# Unpack atlas archive 36 36 # Unpack atlas archive
echo "Archive atlas" 37 37 echo "Archive atlas"
tar xjf atlas3.8.2.tar.bz2 38 38 tar xjf atlas3.8.2.tar.bz2
cd ATLAS 39 39 cd ATLAS
mkdir build 40 40 mkdir build
mkdir install 41 41 mkdir install
cd build 42 42 cd build
../configure --prefix=../install --with-netlib-lapack=../../lapack-3.1.1/lapack_LINUX.a 43 43 ../configure --prefix=../install --with-netlib-lapack=../../lapack-3.1.1/lapack_LINUX.a -Fa alg -fPIC
make.inc.gfortran.lapack
#################################################################### 1 1 ####################################################################
# LAPACK make include file. # 2 2 # LAPACK make include file. #
# LAPACK, Version 3.1.1 # 3 3 # LAPACK, Version 3.1.1 #
# February 2007 # 4 4 # February 2007 #
#################################################################### 5 5 ####################################################################
# 6 6 #
SHELL = /bin/sh 7 7 SHELL = /bin/sh
# 8 8 #
# The machine (platform) identifier to append to the library names 9 9 # The machine (platform) identifier to append to the library names
# 10 10 #
PLAT = _LINUX 11 11 PLAT = _LINUX
# 12 12 #
# Modify the FORTRAN and OPTS definitions to refer to the 13 13 # Modify the FORTRAN and OPTS definitions to refer to the
# compiler and desired compiler options for your machine. NOOPT 14 14 # compiler and desired compiler options for your machine. NOOPT
# refers to the compiler options desired when NO OPTIMIZATION is 15 15 # refers to the compiler options desired when NO OPTIMIZATION is
# selected. Define LOADER and LOADOPTS to refer to the loader and 16 16 # selected. Define LOADER and LOADOPTS to refer to the loader and
# desired load options for your machine. 17 17 # desired load options for your machine.
# 18 18 #
FORTRAN = gfortran 19 19 FORTRAN = gfortran
OPTS = -O2 20 20 OPTS = -O2 -fPIC
DRVOPTS = $(OPTS) 21 21 DRVOPTS = $(OPTS)
NOOPT = -O0 22 22 NOOPT = -O0 -fPIC
LOADER = gfortran 23 23 LOADER = gfortran
LOADOPTS = 24 24 LOADOPTS =
# 25 25 #
# Timer for the SECOND and DSECND routines 26 26 # Timer for the SECOND and DSECND routines
# 27 27 #
# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME 28 28 # Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME
#TIMER = EXT_ETIME 29 29 #TIMER = EXT_ETIME
# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ 30 30 # For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_
# TIMER = EXT_ETIME_ 31 31 # TIMER = EXT_ETIME_
# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME 32 32 # For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME
TIMER = INT_ETIME 33 33 TIMER = INT_ETIME
# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) 34 34 # If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...)
# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME 35 35 # SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME
# TIMER = INT_CPU_TIME 36 36 # TIMER = INT_CPU_TIME
# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 37 37 # If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0
# TIMER = NONE 38 38 # TIMER = NONE
# 39 39 #
# The archiver and the flag(s) to use when building archive (library) 40 40 # The archiver and the flag(s) to use when building archive (library)
# If you system has no ranlib, set RANLIB = echo. 41 41 # If you system has no ranlib, set RANLIB = echo.
# 42 42 #
ARCH = ar 43 43 ARCH = ar
ARCHFLAGS= cr 44 44 ARCHFLAGS= cr
RANLIB = ranlib 45 45 RANLIB = ranlib
# 46 46 #
# The location of the libraries to which you will link. (The 47 47 # The location of the libraries to which you will link. (The
# machine-specific, optimized BLAS library should be used whenever 48 48 # machine-specific, optimized BLAS library should be used whenever
# possible.) 49 49 # possible.)
# 50 50 #
BLASLIB = ../../blas$(PLAT).a 51 51 BLASLIB = ../../blas$(PLAT).a
LAPACKLIB = lapack$(PLAT).a 52 52 LAPACKLIB = lapack$(PLAT).a
TMGLIB = tmglib$(PLAT).a 53 53 TMGLIB = tmglib$(PLAT).a
EIGSRCLIB = eigsrc$(PLAT).a 54 54 EIGSRCLIB = eigsrc$(PLAT).a
LINSRCLIB = linsrc$(PLAT).a 55 55 LINSRCLIB = linsrc$(PLAT).a
56 56