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
-vv options), more detail gives positive feedback. Output is colored by default to make reading easy.
makem.sh into your package’s root directory. Optionally, also copy
Makefile, to make calling the script easier.
makem.sh script can be called directly or through a
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
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.
Inspired by Damien Cassou’s excellent makel project.
Bug reports, feature requests, suggestions — oh my!