Skip to main content
Developer Documentation / Project Tools

Makefile Generator

Generate a Makefile with install, dev, build, test, lint, clean and Docker targets for Node.js, Python, Go or PHP, with a built-in help target.

Choose a project type and targets to get a tidy, self-documenting Makefile with real tab indentation - ready to download.

Targets

Recipes are indented with real tab characters, as Make requires. The Makefile is only shown and downloaded - nothing is run. Review the commands before using it.

Review the commands before running make - the tool only generates text and never runs anything.

What Is the Makefile Generator?

It creates a Makefile with the everyday tasks of a project - install, dev, build, test, lint, format, clean and optional Docker targets - for Node.js, Python, Go, PHP/Laravel or a generic project. It also adds a self-documenting help target that lists every command.

Why Use a Makefile?

A Makefile gives every project the same short commands: make test works whether the project uses npm, pytest or Go. New team members and CI pipelines no longer need to know the exact tool behind each step.

How to Use It

  1. Choose the project type and enter the project or Docker image name.
  2. Tick the targets you want and choose the default target.
  3. Generate, then download the file as Makefile into the project root. Run make help.

Example

For a Python project, make install creates a virtual environment in .venv and installs requirements.txt into it, and make test runs pytest from that environment.

Understanding the Output

Recipes are indented with real tab characters, because Make rejects spaces with a "missing separator" error. All targets are listed in .PHONY so Make never confuses them with files of the same name. Variables such as IMAGE ?= my-app use ?=, so you can override them: make docker-build TAG=1.2.0.

Limitations

The commands are sensible defaults, not a guarantee they match your scripts - review them before use. Nothing is executed by this tool. The help target uses grep and awk, available on Linux and macOS; on Windows, use WSL or Git Bash. For container builds, pair it with the Dockerfile Generator.

Frequently Asked Questions

Make requires recipe lines to start with a tab character, not spaces. The generated file uses real tabs; the error usually appears when an editor converts them to spaces on paste, so download the file instead or set your editor to keep tabs in Makefiles.

It tells Make that targets such as test or clean are commands, not files. Without it, a file or folder named "test" in your project would make make test think there is nothing to do.

Variables defined with ?= can be set on the command line or in the environment, for example make docker-build TAG=1.4.0. The value in the Makefile is used only when none is given.

No. The Makefile is generated as text in your browser and can only be copied or downloaded. Review the commands and adjust them to your project before running make.
Share this tool: