Faff

PyPI version. PyPI status. PyPI licence. Travis CI build. Code Climate GPA. Code Climate coverage.

Faff is a Make build tool substitute written in Python. An input file similar to a Makefile defines rules used to update arbitrary targets that can have file or other rule dependencies.

Installation

Install and/or upgrade using pip.

$ pip install -U faff

Quickstart

Compile and execute a C hello world program. Create a directory populated with files from the gcc_hello_world example. The example assumes that the gcc command is available in the system path and compiles source files for the host platform.

$ mkdir -p gcc_hello_world
$ cd gcc_hello_world
$ # Copy example files.

Run the default rule of the input file. Similarly to Make, running faff will run the all default rule.

$ faff
faff: gcc gcc_hello_world/main.c -o gcc_hello_world/build/main
faff: main
Hello, world!
faff: `all` updated (1/1 0.694s)