Skip Navigation
General Programming Discussion @lemmy.ml bahmanm @lemmy.ml

[ANN] bmakelib v0.6.0 with enums

github.com Release v0.6.0 Β· bahmanm/bmakelib

The highlight of this release is the introduction of enum (aka variants or options) which can be used to limit and validate a variable's value. For example: Makefile: define-enum : bmakelib.enum.de...

Release v0.6.0 Β· bahmanm/bmakelib

cross-posted from: https://lemmy.ml/post/8492082

bmakelib is a collection of useful targets, recipes and variables you can use to augment your Makefiles.


I just released bmakelib v0.6.0 w/ the main highlight being the ability to define enums and validate variable values against them.


➀ Makefile:

define-enum : bmakelib.enum.define( DEPLOY-ENV/dev,staging,prod )
include define-enum

deploy : bmakelib.enum.error-unless-member( DEPLOY-ENV,ENV )
deploy :
	@echo πŸš€ Deploying to $(ENV)...

➀ Shell:

$ make ENV=local-laptop deploy
*** 'local-laptop' is not a member of enum 'DEPLOY-ENV'.  Stop.

$ make ENV=prod deploy
πŸš€ Deploying to prod...
0
0 comments