Skip to content

Instantly share code, notes, and snippets.

@chadrien
Created June 3, 2015 12:21
Show Gist options
  • Save chadrien/edd9167f5325821aaec5 to your computer and use it in GitHub Desktop.
Save chadrien/edd9167f5325821aaec5 to your computer and use it in GitHub Desktop.
Proxy commands in Makefile (useful for docker for instance)
SUPPORTED_COMMANDS := command1 command2
SUPPORTS_MAKE_ARGS := $(findstring $(firstword $(MAKECMDGOALS)), $(SUPPORTED_COMMANDS))
ifneq "$(SUPPORTS_MAKE_ARGS)" ""
# use the rest as arguments for the command
COMMAND_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
# ...and turn them into do-nothing targets
$(eval $(COMMAND_ARGS):;@:)
endif
command1:
@command1 $(COMMAND_ARGS)
command2:
@command2 --option1 --option2=foo $(COMMAND_ARGS)
@chadrien
Copy link
Author

chadrien commented Jun 3, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment