Metadata-Version: 2.0
Name: faff
Version: 0.2.4
Summary: Make build tool substitute written in Python.
Home-page: https://github.com/mojzu/faff
Author: mojzu
Author-email: mail@mojzu.net
License: Public Domain
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Public Domain
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Software Development :: Build Tools
Requires-Dist: Jinja2 (>=2.8)
Requires-Dist: colorama (>=0.3.7)

====
Faff
====

.. image:: https://img.shields.io/pypi/v/faff.svg?style=flat-square
  :target: https://pypi.python.org/pypi/faff
  :alt: PyPI version.

.. image:: https://img.shields.io/pypi/status/faff.svg?style=flat-square
  :target: https://pypi.python.org/pypi/faff
  :alt: PyPI status.

.. image:: https://img.shields.io/pypi/l/faff.svg?style=flat-square
  :target: https://pypi.python.org/pypi/faff
  :alt: PyPI licence.

.. image:: https://img.shields.io/travis/mojzu/faff/master.svg?style=flat-square
  :target: http://travis-ci.org/mojzu/faff
  :alt: Travis CI build.

.. image:: https://img.shields.io/codeclimate/github/mojzu/faff.svg?style=flat-square
  :target: https://codeclimate.com/github/mojzu/faff
  :alt: Code Climate GPA.

.. image:: https://img.shields.io/codeclimate/coverage/github/mojzu/faff.svg?style=flat-square
  :target: https://codeclimate.com/github/mojzu/faff/coverage
  :alt: 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.

.. code:: shell

  $ 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.

.. _gcc_hello_world: https://github.com/mojzu/faff/tree/master/examples/gcc_hello_world

.. code:: shell

  $ 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.

.. code:: shell

  $ 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)

-------------
Documentation
-------------

- `User`_
- `Developer`_
- `Reference`_

.. _User: https://pythonhosted.org/faff/user/
.. _Developer: https://pythonhosted.org/faff/developer/
.. _Reference: https://pythonhosted.org/faff/reference/


