make_rule(targets, deps = NULL, script = NULL)
[character]
Target names[character]
Dependency names[character]
A script to execute to build the targets.MakefileR_rule
A rule in a Makefile
consists of a (list of) targets which may
depend on one or more dependencies each. Optionally, a script is executed to
create the target. Generally, multiple targets mean that the rule is
identical for each of the individual targets, and multiple dependencies mean
that all of them are required to build each of the targets.
In the script, the target can be referenced by $@
, and the first
dependency can be referenced by $<
. Note that the dollar sign has a
special meaning in a Makefile
, use $$
in scripts that need
to use the dollar sign themselves.
make_rule("all", c("first_target", "second_target"))all: first_target second_targetmake_rule(".FORCE").FORCE:make_rule("first_target", ".FORCE", "echo 'Building first target'")first_target: .FORCE echo 'Building first target'make_rule("second_target", "first_target", c("echo 'Building second target'", "echo 'Done'"))second_target: first_target echo 'Building second target' echo 'Done'makefile() + make_rule("all", c("first_target", "second_target")) + make_rule(".FORCE") + make_rule("first_target", ".FORCE", "echo 'Building first target'") + make_rule("second_target", "first_target", c("echo 'Building second target'", "echo 'Done'"))# Generated by MakefileR, do not edit by hand all: first_target second_target .FORCE: first_target: .FORCE echo 'Building first target' second_target: first_target echo 'Building second target' echo 'Done'