Parameter for rule in Makefile Parameter for rule in Makefile unix unix

Parameter for rule in Makefile


When passing parameters to a make command, reference them like you would other internal make variables.

If your makefile looks like:

run:        script $(param1) $(param2)

You can call it with the following syntax:

$> make run param1=20 param2=30

and make should call the script like:

script 20 30


Make itself doesn't provide passing arguments like for scripts. Usually make is used in the following way: you configure project than run just simple 'make'. Configuring can be done by running shell script 'configure'. This script is the one that you can pass parameters to. For example:

./configure param1 param2make run

configure script must parse parameters and write them out to config.mk. config.mk must contain the following:

PARAM1 = val1PARAM2 = val2

Your Makefile must include config.mk:

TOP = .include $(TOP)/config.mkrun:    make compile    ./scripts/runTrips $(PARAM1) $(PARAM2) $(PLACES) $(OUT) $(VERS)

In your 'configure' script you can also check parameters for correctness and make other checks and calculations.