-
Notifications
You must be signed in to change notification settings - Fork 7
Compile
VecFor has been developed on GNU/Linux architecture. Other OS are not supported (and in general there is no best alternative to GNU/Linux :-).
VecFor is based only one stand-alone Fortran module, the library sources are placed inside src/lib.
To compile it simply type
fc -c vecfor.F90where fc must be replaced with your compiler command, e.g. gfortran, ifort, xlf, etc...
To automatize some stuffs (building a static or dynamic linkable library, building API documentation, performing coverage and regression analysis) FoBiS.py is used within the provided fobos file.
FoBiS.py is a KISS tool for automatic building of modern Fortran projects. Providing very few options, FoBiS.py is able to build almost automatically complex Fortran projects with cumbersome inter-modules dependency. This removes the necessity to write complex makefile. Moreover, providing a very simple options file (in the FoBiS.py nomenclature indicated as fobos file) FoBiS.py can substitute the (ab)use of makefile for other project stuffs (build documentations, make project archive, etc...). VecFor is shipped with a fobos file that can build the library in both static and shared forms and also build the src/tests/ programs. The provided fobos file has several building modes.
Typing:
FoBiS.py build -lmodesthe following message should be printed:
The fobos file defines the following modes:
- "vecfor-static-gnu" Build VecFor library in static release mode with GNU gfortran
- "vecfor-static-gnu-debug" Build VecFor library in static debug mode with GNU gfortran
- "vecfor-shared-gnu" Build VecFor library in shared release mode with GNU gfortran
- "vecfor-shared-gnu-debug" Build VecFor library in shared debug mode with GNU gfortran
- "vecfor-static-intel" Build VecFor library in static release mode with Intel Fortran
- "vecfor-static-intel-debug" Build VecFor library in static debug mode with Intel Fortran
- "vecfor-shared-intel" Build VecFor library in shared release mode with Intel Fortran
- "vecfor-shared-intel-debug" Build VecFor library in shared debug mode with Intel Fortran
- "vecfor-static-gnu-coverage" Build VecFor library in static release coverage mode with GNU gfortranThe modes should be self-explicative: shared and static are the modes for building (in realese, optimized form) the shared and static versions of the library, respectively. The other modes are the same, but in debug form instead of release one. -gnu use the GNU gfortran compiler while -intel the Intel one.
The shared or static directories are created accordingly to the form of the library built. The compiled objects and mod files are placed inside this directory, as well as the linked library.
FoBiS.py build -mode vecfor-shared-gnuFoBiS.py build -mode vecfor-static-gnuFoBiS.py build -mode vecfor-shared-gnu-debugFoBiS.py build -mode vecfor-static-gnu-debugThe src/tests directory contains the fobos file for building tests programs.
FoBiS.py build -f src/tests/fobosFoBiS.py build -f src/tests/fobos -mode gnu-debugTyping:
FoBiS.py rule -lsthe following message should be printed:
The fobos file defines the following rules:
- "makedoc" Rule for building documentation from source files
Command => rm -rf doc/html/*
Command => ford doc/main_page.md
Command => cp -r doc/html/publish/* doc/html/
- "makecoverage" Rule for performing coverage analysis
Command => FoBiS.py build -f src/tests/fobos -mode gnu-coverage
Command => ./build/tests/simple
- "coverage-analysis" Rule for performing coverage analysis and saving reports in markdown
Command => FoBiS.py build -f src/tests/fobos -mode gnu-coverage
Command => ./build/tests/simple
Command => gcov -o ./build/lib/obj/ src/lib/vecfor.f90
Command => FoBiS.py rule -gcov_analyzer wiki/ Coverage-Analysis
Command => rm -f *.gcov
- "deldoc" Rule for deleting documentation
Command => rm -rf doc/html/*
- "maketar" Rule for making tar archive of the project
Command => tar -czf vecfor.tar.gz *The rules should be self-explicative.
Home | About | Getting Started Guide | Usage | Copyright © 2015 szaghi