Skip to content
Makefile-like script for building and testing Emacs Lisp packages
Shell Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
Makefile
README.org
makem.sh

README.org

makem.sh

makem.sh is a script to help build and test Emacs Lisp packages (not Emacs itself). It aims to make linting and testing as simple as possible. Source files and test files are discovered automatically from the project’s Git repo. Output is simple: by default, there is no output unless errors occur. With increasing verbosity levels (with -v or -vv options), more detail gives positive feedback. Output is colored by default to make reading easy.

Contents

Installation

Copy makem.sh into your package’s root directory. Optionally, also copy Makefile, to make calling the script easier.

Usage

The makem.sh script can be called directly or through a Makefile.

Makefile

A default Makefile is provided which calls the makem.sh script. Call it with the name of a rule and an optional verbosity level, like:

# Run all rules.
$ make

# Run all lints.
$ make lint

# Run all tests.
$ make test

# Run ERT tests with verbosity level 1.
$ make v=v test-ert

# Run Buttercup tests with verbosity level 2.
$ make v=vv test-buttercup

Script

The script may be called directly to specify additional options.

makem.sh [OPTIONS] RULES...

Rules:
  all      Run all lints and tests.
  compile  Byte-compile source files.

  lint           Run all lints.
  lint-checkdoc  Run checkdoc.
  lint-compile   Byte-compile source files with warnings as errors.
  lint-package   Run package-lint.

  test, tests     Run all tests.
  test-buttercup  Run Buttercup tests.
  test-ert        Run ERT tests.

Options:
  -d, --debug    Print debug info.
  -h, --help     I need somebody!
  -v, --verbose  Increase verbosity, up to -vv.

  -f FILE, --file FILE  Check FILE in addition to discovered files.

  --no-color        Disable color output.
  -C, --no-compile  Don't compile files automatically.

Source files are automatically discovered from git, or may be
specified with options.

Changelog

0.1-pre

Initial release.

Credits

Inspired by Damien Cassou’s excellent makel project.

Development

Bug reports, feature requests, suggestions — oh my!

License

GPLv3

You can’t perform that action at this time.