Passing parameters to a Makefile rule
Published on 2020-12-09 • Modified on 2020-12-09
In this snippet, we will see how to pass parameters to a Makefile rule. You can do so by adding parameter=value
to the make call, then, in your rules you can access the values with $(parameter)
. In the following snippet, I also handle default parameters with the help of the eval
function. In this case, if nothing is passed to make test
then the final command is ./vendor/bin/phpunit --testsuite='main' --filter='.' --stop-on-failure
. Check out my full Makefile here.
## —— Tests ✅ —————————————————————————————————————————————————————————————————
test: phpunit.xml check ## Run tests with optionnal suite and filter
@$(eval testsuite ?= 'all')
@$(eval filter ?= '.')
@$(PHPUNIT) --testsuite=$(testsuite) --filter=$(filter) --stop-on-failure
More on Stackoverflow Read the doc More on the web Random snippet