Skip to content

FoBiSFortran Building System for poor people

Automatic dependency-resolving build tool for modern Fortran projects โ€” no makefiles, no boilerplate.

Why FoBiS? โ€‹

Modern Fortran's module system is powerful โ€” but tracking inter-module compilation order by hand in a makefile quickly becomes a nightmare as project size grows. Every time you add a module, rename a file, or restructure directories, the makefile needs manual updates.

FoBiS solves this completely. It parses source files on every invocation, rebuilds the dependency graph from scratch, and compiles in the correct order โ€” with no configuration required for simple projects.

bash
# That's it. FoBiS finds all programs, resolves all dependencies, compiles.
fobis build

For complex projects, a single fobos file in the project root replaces makefiles entirely:

ini
[modes]
modes = debug release

[debug]
compiler  = gnu
cflags    = -c -O0 -g -Wall
build_dir = ./build/debug/

[release]
compiler  = gnu
cflags    = -c -O3
build_dir = ./build/release/
bash
fobis build -mode release

Projects using FoBiS โ€‹

FoBiS is used to build a wide range of Fortran projects:

  • ADAM โ€” Accelerated fluid Dynamics on Adaptive Mesh refinement grids ย |ย  GitHub
  • BeFoR64 โ€” Base64 encoding/decoding library for Fortran ย |ย  GitHub
  • FACE โ€” Fortran ANSI Colors and Escape sequences ย |ย  GitHub
  • FiNeR โ€” Fortran INI ParseR and generator ย |ย  GitHub
  • FLAP โ€” Fortran command Line Arguments Parser for poor people ย |ย  GitHub
  • FUNDAL โ€” Fortran UNified Device Acceleration Library ย |ย  GitHub
  • FOSSIL โ€” FOrtran Stereo (si) Litography parser ย |ย  GitHub
  • MORTIF โ€” MORTon Indexer (Z-order) Fortran environment ย |ย  GitHub
  • MOTIOn โ€” Modular (HPC) Optimized Toolkit (for) IO (in fortra)n ย |ย  GitHub
  • PENF โ€” Portability Environment for Fortran poor people ย |ย  GitHub
  • StringiFor โ€” Strings Fortran Manipulator with steroids ย |ย  GitHub
  • VecFor โ€” Vector algebra class for Fortran poor people ย |ย  GitHub
  • VTKFortran โ€” pure Fortran VTK (XML) API ย |ย  GitHub

Author โ€‹

Stefano Zaghi โ€” stefano.zaghi@cnr.it ยท GitHub

Copyrights โ€‹

FoBiS.py is an open source project distributed under the GPL v3 license. Anyone interested in using, developing, or contributing to FoBiS.py is welcome โ€” see the contributing guidelines.