buds  0.1
FORTRAN reference counted types
Installation instructions

Basic Installation

Building buds is only controlled using the basic Makefiles included. Every setting for the compilation and installation can be controlled using the setup.make file.

If you are using the standard GNU compiler suite you may compile and install buds using the following commands:

make
make install PREFIX=<install prefix>

the default PREFIX is $HOME/buds.

This basic installation will only install the static library. To control whether the shared/static or both libraries should be installed one can do

make all

To only compile the shared library one should do:

make shared

The installation will install either library and the basic buds include files in the PREFIX directory.

Advanced installation

The actual control of the installation script can be fully controlled in the setup.make file. An assortment of pre-make files are created in the setup.makes directory.

To use one of them you may link it to setup.make:

ln -s setup.makes/static-hard.make setup.make
make

which will use the settings for the static library using an aggressive optimization strategy.

You may also denote the setup.make file using the SETUP flag:

make SETUP=static-hard # or
make SETUP=static-hard.make # or
make SETUP=setup.makes/static-hard.make

To check your current installation setup run this command:

make show

Compiler settings

Either of these settings may be provided on the make command line or in setup.make. In the following 0 means disable while 1 means enable.

Library functionality

There are several preprocessor flags for controlling the final buds library. Some of them extends the functionality while others limit the functionality. Currently the preprocessor flags must be added to the CPPFLAGS variable:

CPPFLAGS = -D<preprocessor-flag>

Add these to the CPPFLAGS controlling

Compiler vendors

The vendor directory contains individual files that creates defaults for different vendors. If you want to enable a new compiler you may copy the vendor/gnu.make to vendor/<new>.make and customize the flags to your liking.

Once you have created the vendor file you may use the vendor by compiling using:

make VENDOR=<new>

Currently only GNU and Intel compiler vendors are supported:

make VENDOR=gnu # default
make VENDOR=intel

If you add a new vendor please consider contributing to buds by adding a pull request.