Makex

Makex is a new and simplified build and automation tool, similar to the original Make.

It makex stuff happen. 🙂

What Makex is used for

  • Compiling software/applications/firmware

  • Building filesystems/trees/file archives

  • Building and deploying websites and web applications

  • Running things in a repeatable manner

  • Replacing most or all of the other build systems

Features 🍩

  • Familiar Syntax

  • File Hashing and Checksums

  • Dependency Graphs

  • Caching

  • Workspaces

  • Copy on Write

Documentation

Quick Start

  1. Install:

pip install makex
  1. Define a Makex file (name it Makexfile):

#!makex

task(
    name="hello-world",
    steps=[
        write("hello-world.txt", "Hello World!"),

        # or, you can use the shell, but it's not recommended:
        # shell(f"echo 'Hello World!' > {path('hello-world')}/hello-world.txt"),
    ],
    outputs=[
        "hello-world.txt",
    ],
)
  1. Run makex and the target:

makex run :hello-world
  1. A file at _output_/hello-world/hello-world.txt will have the following contents:

Hello World!

Limitations

  • Mac support is not tested.

  • Windows is not tested or supported (yet).

Note

This is an early release of Makex. Things may change. If you have any problems, feel free to contact us.

Pronunciation 🗣

Makex is pronounced “makes”, ˈmeɪks, ˈmeɪkˈɛks (or just “make” 🙂)