All Projects → mrtazz → Checkmake

mrtazz / Checkmake

Licence: mit
experimental linter/analyzer for Makefiles

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Checkmake

makefiles
No description or website provided.
Stars: ✭ 23 (-94.52%)
Mutual labels:  lint, linter, make
selective
Statically find HTML anti patterns using CSS Selectors
Stars: ✭ 15 (-96.43%)
Mutual labels:  lint, linter
Lockfile Lint
Lint an npm or yarn lockfile to analyze and detect security issues
Stars: ✭ 411 (-2.14%)
Mutual labels:  linter, lint
Reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Stars: ✭ 4,541 (+981.19%)
Mutual labels:  linter, lint
eslint-config
An ESLint shareable config that I used in my projects
Stars: ✭ 15 (-96.43%)
Mutual labels:  lint, linter
JSONCustomLintr
Library to allow creation, running, and reporting of custom lint rules for JSON files
Stars: ✭ 19 (-95.48%)
Mutual labels:  lint, linter
gandalf-lint
Bad Code Shall Not Pass
Stars: ✭ 29 (-93.1%)
Mutual labels:  lint, linter
flake8-broken-line
🚨 Flake8 plugin to forbid backslashes (\) for line breaks
Stars: ✭ 85 (-79.76%)
Mutual labels:  lint, linter
Ios Project Env Setup
Setup your iOS project environment with a Shellscript, Makefile or Rakefile
Stars: ✭ 320 (-23.81%)
Mutual labels:  makefile, make
Exakat
The Exakat Engine : smart static analysis for PHP
Stars: ✭ 346 (-17.62%)
Mutual labels:  linter, lint
Detekt
Static code analysis for Kotlin
Stars: ✭ 4,169 (+892.62%)
Mutual labels:  linter, lint
ue5-style-guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,892 (+588.57%)
Mutual labels:  lint, linter
pahout
A pair programming partner for writing better PHP. Pahout means PHP mahout 🐘
Stars: ✭ 43 (-89.76%)
Mutual labels:  lint, linter
Format.cmake
💅 Stylize your code! Automatic clang-format and cmake-format targets for CMake.
Stars: ✭ 94 (-77.62%)
Mutual labels:  lint, linter
cpplint
Static code checker for C++
Stars: ✭ 1,014 (+141.43%)
Mutual labels:  lint, linter
elint
A easy way to lint your code
Stars: ✭ 38 (-90.95%)
Mutual labels:  lint, linter
Gitlint
Linting for your git commit messages
Stars: ✭ 404 (-3.81%)
Mutual labels:  linter, lint
dockerfile-utils
A library and command line interface for formatting and linting Dockerfiles.
Stars: ✭ 17 (-95.95%)
Mutual labels:  lint, linter
lint-prepush
Lint committed files on pre-push 🔬
Stars: ✭ 18 (-95.71%)
Mutual labels:  lint, linter
Task
A task runner / simpler Make alternative written in Go
Stars: ✭ 4,282 (+919.52%)
Mutual labels:  makefile, make

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.

Docker usage

Build the image, or pull it:

docker build . -t checker

Then run it with your Makefile attached, below is an example of it assuming the Makefile is in your current working directory:

docker run -v $(pwd)/Makefile:/Makefile checker

Installation

Requirements

The pandoc document converter utility is required to run checkmate. You can find out if you have it via which pandoc. Install pandoc if the command was not found.

Packages

There are packages for linux up on packagecloud.io or build it yourself with the steps below.

Build

To build checkmake you will need to have golang installed. Once you have Go installed, you can simply clone the repo and build the binary and man page yourself with the following commands.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].