CODE:
LIST=0 1 2 3 4 5
PREFIX=rambo
# some looping logic to interate over LIST
EXPECTED RESULT:
rambo0:
sh rambo_script0.sh
rambo1:
sh rambo_script1.sh
Since my LIST has 6 elements, 6 targets should be generated. In future, if I want to add more targets, I want to be able to just modify my LIST and not touch any other part of the code.
How should the looping logic be written?
Use text-transforming functions. With
patsubst
you can make quite general transformations. For constructing filenames,addsuffix
andaddprefix
are both convenient.For the rules, use pattern rules.
The overall result might look something like this:
If you're using GNU make, you can generate arbitrary targets at run-time: