Skip to content

Some snippets of Makefile frequently reused. Optimizations kept here for future reference and retrofit.

Notifications You must be signed in to change notification settings

alanbort/makefile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Makefile templates and examples

Makefile patterns

Regular targets should abstract specific repository processes:

Target Action
configure configures project build environment file: env.sh
help Should print a basic help describing the main targets
clean Cleans generated artifacts
cleanall Deep clean, including docker system prune if docker is used, venv, etc.
build Do the primary build target, this can be dist, setup, etc depending on the content of the repository
test Execute tests
release Create a branch and tag for VERSION on pure code repositories, publish to package repository for packaged software
rc tag release candidate for CI/CD
releasecandidate alias for rc
lint run repository relevant linter

Vendor and Venv

  • If necessary, a vendor or venv directory shall be created with its own Makefile that will configure the required additional softwaare

vendor may be used for Ruby Gems, PHP Dependencies and Composer Packages, NPM Packages. venv is used for PyPI packages

Inspired by

https://github.com/audreyfeldroy/cookiecutter-pypackage https://github.com/imaerials/ansible-home-lab

About

Some snippets of Makefile frequently reused. Optimizations kept here for future reference and retrofit.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published