All Projects → ianstormtaylor → makefile-help

ianstormtaylor / makefile-help

Licence: other
An easy way to add a `make help` target to your Makefiles.

Programming Languages

Makefile
30231 projects

Projects that are alternatives of or similar to makefile-help

up
UP - Ultimate Provisioner CLI
Stars: ✭ 43 (+104.76%)
Mutual labels:  make
stantargets
Reproducible Bayesian data analysis pipelines with targets and cmdstanr
Stars: ✭ 31 (+47.62%)
Mutual labels:  make
docker-mdns
Simple mDNS/ZeroConf demonstration of a nginx container, acessible at http://nginx.local
Stars: ✭ 25 (+19.05%)
Mutual labels:  make
makefiles
No description or website provided.
Stars: ✭ 23 (+9.52%)
Mutual labels:  make
fate
Fate is a modern science chinese name create tool.
Stars: ✭ 1,974 (+9300%)
Mutual labels:  make
uDevkit-IDE
An IDE for uDevkit or C/C++ projects with Git written in Qt5
Stars: ✭ 15 (-28.57%)
Mutual labels:  make
laravel-make-me
Extendable Interactive Make Command for Laravel
Stars: ✭ 36 (+71.43%)
Mutual labels:  make
lets
CLI task runner for developers - a better alternative to make
Stars: ✭ 50 (+138.1%)
Mutual labels:  make
automake
Mirror of git://git.savannah.gnu.org/automake.git
Stars: ✭ 36 (+71.43%)
Mutual labels:  make
python-makefun
Dynamically create python functions with a proper signature.
Stars: ✭ 62 (+195.24%)
Mutual labels:  make
make
The Ultimate Makefile to compile all your C, C++, Assembly and Fortran projects
Stars: ✭ 41 (+95.24%)
Mutual labels:  make
rebuild
Zero-dependency, reproducible build environments
Stars: ✭ 48 (+128.57%)
Mutual labels:  make
core.inc.mk
My utility belt `Makefile` (and my memory belt in docs)
Stars: ✭ 14 (-33.33%)
Mutual labels:  make
xcode-configure
This command can generate makefile to build xcode project in command line just like <configure & make & make install> in C/C++ language world.
Stars: ✭ 34 (+61.9%)
Mutual labels:  make
packages
Cloud Posse DevOps distribution of linux packages for native apps, binaries, alpine packages, debian packages, and redhat packages.
Stars: ✭ 107 (+409.52%)
Mutual labels:  make
Arduino-CMake-Toolchain
CMake toolchain for all Arduino compatible boards
Stars: ✭ 108 (+414.29%)
Mutual labels:  make
make
Makefiles
Stars: ✭ 31 (+47.62%)
Mutual labels:  make
example.kext
Makefile for building macOS kernel extensions
Stars: ✭ 66 (+214.29%)
Mutual labels:  make
hosting-handbook
Hosting Handbook
Stars: ✭ 41 (+95.24%)
Mutual labels:  make
taskit
A Task Runner in Bash
Stars: ✭ 35 (+66.67%)
Mutual labels:  make

makefile-help

An easy way to add an auto-generated make help target to your Node.js project's Makefile.

This makes make command discovery nicer, while still using the same make tool that's available in pretty much every dev environment. If you're looking for something a bit more powerful, but at the expense of installing something new, check out tj/mmake!


Example

For a makefile like...

ifneq ($(wildcard ./node_modules),)
  include ./node_modules/makefile-help/Makefile
endif

# Run commands with the node debugger. (default: false)
DEBUG ?= false

ifeq ($(DEBUG),false)
  node = node
else
  node = node debug
endif

# Remove all of the derived files.
clean: 
  @ rm -rf ./node_modules ./lib

# Compile the source with babel.
lib: 
  @ ./node_modules/.bin/babel-cli --out-dir ./lib ./src

# Start the development server.
start:
  @ $(node) ./server/index.js

Running make help will print out...

$ make help

  Usage:

    make <target> [flags...]

  Targets:

    clean   Remove all of the derived files.
    help    Show this help prompt.
    lib     Compile the source with babel.
    start   Start the development server.

  Flags:

    DEBUG    Run commands with the node debugger. (default: false)

Installation

yarn add makefile-help
npm install --save makefile-help

Usage

To use it, include this module's Makefile in your own...

ifneq ($(wildcard ./node_modules),)
  include ./node_modules/makefile-help/Makefile
endif

And then run...

$ make help

The help command will auto-populate from targets that look like:

# This comment will show up for the target in the help.
target:

And also for flag definitions like:

# This comment will show up for the flag in the help.
FLAG ?=
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].