Skip to content
Stefano Zaghi edited this page Mar 17, 2015 · 4 revisions
  • FoBiS.py is a Fortran Building System for poor men;
  • FoBiS.py is KISS;
  • FoBiS.py is a Free, Open Source Project.

Team Members

Contributors

The author would like to thank all the users having indirectly contributed to the library development.

Why?

GNU Make, CMake, SCons & Co. are fantastic tools, even too much for a poor-fortran-man. However, the support for modern Fortran project is still poor: in particular, it is quite difficult (and boring) to track the inter-module-dependency hierarchy of project using many module files. Modern Fortran programs can take great advantage of using modules; however their compilations can quickly become a nightmare as the number of modules grows. As a consequence, an automatic build system able to track (on the fly) any changes on the inter-module-dependency hierarchy can save the life of a poor-fortran-man.

Why not use an auto-make-like tool?

There are a lot of alternatives for deal with inter-module-dependency hierarchy, but they can be viewed as a pre-processor for the actual building system (such as auto-make tools or even the Fortran compiler itself that, in most cases, can generate a dependency list of a processed file), thus they introduce another level of complexity... but a poor-fortran-man always loves the KISS (Keep It Simple, Stupid) things! FoBiS.py is designed to do just one thing: build a modern Fortran program without boring you to specify a particular compilation hierarchy.

OK, what can FoBiS.py do? I am a poor-fortran-man, I do not understand you...

Suppose you have a Fortran project composed of many Fortran modules placed into a complicated nested directories tree. Your goal is to build some (all) of the main programs contained into the project tree, but you have no time (or patience) to write the complicated makefile(s) able to correctly build your programs. In this case FoBiS.py can save your life: just type python FoBiS.py build in the root of your project and FoBis.py will (try to) build all the main programs nested into the current directory. Obviously, FoBiS.py will not (re-)compile unnecessary objects if they are up-to-date (like the "magic" of a makefile). FoBiS.py have many (ok... some) others interesting features: if I have convinced you, please read the following.

Documentations

FoBiS.py documentations is hosted on GitHub. The wiki and the README are the main documentation resources. Other sources of documentation are the examples.

Features

FoBiS.py is still in developing and testing, but it is already usable. Surely there are a lot of bugs and the programming style is not the best, but it does what is supposed it must do.

The main features are listed in Main features.

Copyrights

FoBiS.py is an open source project, it is distributed under the GPL v3. Anyone is interest to use, to develop or to contribute to FoBiS.py is welcome. Take a look at the contributing guidelines for starting to contribute to the project.

Clone this wiki locally