Skip to content

FoBiSFortran Building System

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
zero-configuration buildsimplify complex dependency
basic buildcomplex dependancy
GH integration, project installGH integration, dependancies fetch
project installdependancies fetch

Showcases

Projects using FoBiS:

  • 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  |  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  |  GitHub
  • StringiFor — Strings Fortran Manipulator with steroids  |  GitHub
  • VecFor — Vector algebra class for Fortran  |  GitHub
  • VTKFortran — pure Fortran VTK (XML) API  |  GitHub

Author

Stefano Zaghistefano.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.