next up previous contents
Next: Compiling Up: Installation Previous: System Dependent Routines

Makefile

 

Several versions of the makefile are provided. The systems they were tested on are:

makefile.aix:
xlf 2.3 under AIX 3.2.5 on RS6000
makefile.convex:
fc 7.0 under ConvexOS 10.2 on Convex C3820
makefile.cray:
cf77 6.0 under UNICOS 7.0.5.1 on Cray Y-MP4E/232
makefile.hpux:
f77 09.16 under HP-UX 10.0 on HP 9000 Series 700
makefile.irix:
f77 3.5 under IRIX 4.0.5C on SGI R4000-50 VGX
makefile.linux:
f2c ``tenth edition'' and gcc 2.4.5 under SLS 1.03 kernel 0.99p12 on 486DX50
makefile.sunos:
f77 1.4 Patch 8 under SunOS 4.1.3 on Sun Sparc 10

For all installations, you need to provide the location of the LINPACK and BLAS routines. This is done through the LINPACK and DLINPACK variables set near the top of the makefile.

If your system has LINPACK and BLAS installed, you should provide the name of the library containing them, in the format used for linking in a library on your system. On most UNIX systems, if LINPACK is in the library liblinpack.a and BLAS is in the library libblas.a (ask your system administrator for the actual names of the libraries), you would set
LINPACK = -llinpack -lblas
in the makefile.

If your system does not have LINPACK and BLAS installed, then get the source code as described in section 2.2.1, and set
LINPACK = r1mach.o linpack.o
to link in your own compiled version. Note that r1mach (see section 3.1) is a BLAS routine.

It is also possible to mix the library and source code modes. For example, if you have BLAS in the library libblas.a but do not have LINPACK in a library, you can use
LINPACK = linpack.o -lblas
to use the library BLAS and source code LINPACK . In this case you should not include the BLAS source code in linpack.f.

The variable DLINPACK is used the same way as LINPACK, except it provides the LINPACK and BLAS for the auto-double version of MGGHAT , on compilers that have an auto-double flag. NOTE: This is not the double precision version of LINPACK and BLAS . It is the single precision version compiled with the auto-double flag. If you use the LINPACK and BLAS source code for the auto-double version of MGGHAT , refer to the object files as r1mach8.o and linpack8.o.

You might have the LINPACK library installed on your system, but not have an auto-double version of it installed. You can mix the forms used in the makefile, i.e.,
LINPACK = -llinpack -lblas
DLINPACK = r1mach8.o linpack8.o

The other variables in the makefile that you may need to modify are:

FFLAGS:
flags for the FORTRAN compiler
CFLAGS:
flags for the C compiler
F77:
the FORTRAN compiler
CC:
the C compiler
DOUBLE:
the flag to invoke auto-double on the FORTRAN compiler



next up previous contents
Next: Compiling Up: Installation Previous: System Dependent Routines



william.mitchell@nist.gov