Skip to content
experimental linter/analyzer for Makefiles
Go 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.
.github add PULL_REQUEST_TEMPLATE Aug 30, 2016
cmd/checkmake
config increase unit test coverage for config package Jul 1, 2018
docs
fixtures
formatters add unit tests for and fix bug in NewCustomFormatter Sep 4, 2016
logger
man/man1 add CustomFormatter Sep 4, 2016
parser goimports Aug 30, 2016
rules add maxbodylength rule Jul 27, 2017
validator add maxbodylength rule Jul 27, 2017
vendor vendor stretchr/testify/require Aug 30, 2016
.codeclimate.yml exclude test files from codeclimate paths Sep 8, 2016
.gitignore ignore package build artefacts in git Aug 30, 2016
.travis.yml add minphony rule and --list-rules cli param Aug 30, 2016
CHANGELOG.md release version 0.1.0 Aug 30, 2016
CODE_OF_CONDUCT.md add CODE_OF_CONDUCT.md Jul 28, 2017
LICENSE commit initial parser structure Aug 24, 2016
Makefile add ability to run tests for single package Jul 1, 2018
README.md add codeclimate badge to README Sep 8, 2016
checkmake.go make checkmake go install-able Jul 28, 2017
checkmake.ini add checkmake.ini Jul 28, 2017

README.md

checkmake

Build Status Coverage Status Code Climate Packagecloud MIT license

Overview

checkmake is an experimental tool for linting and checking Makefiles. It may not do what you want it to.

Usage

% checkmake Makefile

% checkmake --help
checkmake.

Usage:
checkmake [--debug|--config=<configPath>] <makefile>
checkmake -h | --help
checkmake --version

Options:
-h --help               Show this screen.
--version               Show version.
--debug                 Enable debug mode
--config=<configPath>   Configuration file to read
--list-rules            List registered rules

% checkmake fixtures/missing_phony.make

      RULE                 DESCRIPTION             LINE NUMBER

  minphony        Missing required phony target    0
                  "all"
  minphony        Missing required phony target    0
                  "test"
  phonydeclared   Target "all" should be           18
                  declared PHONY.

Installation

There are packages for linux up on packagecloud.io but you can also just clone the repo and build the binary and man page yourself.

go get github.com/mrtazz/checkmake
cd $GOPATH/src/github.com/mrtazz/checkmake
make

Inspiration

This is totally inspired by an idea by Dan Buch.

You can’t perform that action at this time.