Before the libraries can be built, or the testing and timing2programs run, you must define all machine-specific parameters for the architecture to which you are installing LAPACK. All machine-specific parameters are contained in the file LAPACK/make.inc. An example of LAPACK/make.inc for a LINUX machine with GNU compilers is given in LAPACK/make.inc.example, copy that file to LAPACK/make.inc by entering the following command:
Now modify your LAPACK/make.inc by applying the following recommendations. The first line of this make.inc file is:
SHELL = /bin/shand it will need to be modified to SHELL = /sbin/sh if you are installing LAPACK on an SGI architecture. Second, you will need to modify the PLAT definition, which is appended to all library names, to specify the architecture to which you are installing LAPACK. This features avoids confusion in library names when you are installing LAPACK on more than one architecture. Next, you will need to modify FORTRAN, OPTS, DRVOPTS, NOOPT, LOADER, and LOADOPTS to specify the compiler, compiler options, compiler options for the testing and timing2main programs, loader, loader options. Next you will have to choose which function you will use to time in the SECOND and DSECND routines.
#The Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME TIMER = EXT_ETIME # For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ # TIMER = EXT_ETIME_ # For gfortran compiler: SECOND and DSECND will use the INTERNAL FUNCTION ETIME # TIMER = INT_ETIME # 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 # 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 # TIMER = NONERefer to the section 6.1.3 to get more information.
Next, you will need to modify ARCH, ARCHFLAGS, and RANLIB to specify archiver,
archiver options, and ranlib for your machine. If your architecture
does not require ranlib to be run after each archive command (as
is the case with CRAY computers running UNICOS, Hewlett Packard
computers running HP-UX, or SUN SPARCstations running Solaris), set
ranlib=echo. And finally, you must
modify the BLASLIB definition to specify the BLAS library to which
you will be linking. If an optimized version of the BLAS is available
on your machine, you are highly recommended to link to that library.
Otherwise, by default, BLASLIB is set to the Fortran 77 version.
NOTE: Example make.inc include files are contained in the LAPACK/INSTALL directory. Please refer to Appendix A for machine-specific installation hints, and/or the release_notes file on netlib.