summaryrefslogtreecommitdiff
path: root/devdocs/gnu_make/force-targets.html
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
committerCraig Jennings <c@cjennings.net>2024-04-07 13:41:34 -0500
commit754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch)
treef1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/gnu_make/force-targets.html
new repository
Diffstat (limited to 'devdocs/gnu_make/force-targets.html')
-rw-r--r--devdocs/gnu_make/force-targets.html10
1 files changed, 10 insertions, 0 deletions
diff --git a/devdocs/gnu_make/force-targets.html b/devdocs/gnu_make/force-targets.html
new file mode 100644
index 00000000..916d153a
--- /dev/null
+++ b/devdocs/gnu_make/force-targets.html
@@ -0,0 +1,10 @@
+ <h1 class="section">Rules without Recipes or Prerequisites</h1> <p>If a rule has no prerequisites or recipe, and the target of the rule is a nonexistent file, then <code>make</code> imagines this target to have been updated whenever its rule is run. This implies that all targets depending on this one will always have their recipe run. </p> <p>An example will illustrate this: </p> <div class="example"> <pre class="example">clean: FORCE
+ rm $(objects)
+FORCE:
+</pre>
+</div> <p>Here the target ‘<samp>FORCE</samp>’ satisfies the special conditions, so the target <samp>clean</samp> that depends on it is forced to run its recipe. There is nothing special about the name ‘<samp>FORCE</samp>’, but that is one name commonly used this way. </p> <p>As you can see, using ‘<samp>FORCE</samp>’ this way has the same results as using ‘<samp>.PHONY: clean</samp>’. </p> <p>Using ‘<samp>.PHONY</samp>’ is more explicit and more efficient. However, other versions of <code>make</code> do not support ‘<samp>.PHONY</samp>’; thus ‘<samp>FORCE</samp>’ appears in many makefiles. See <a href="phony-targets">Phony Targets</a>. </p><div class="_attribution">
+ <p class="_attribution-p">
+ Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc. <br>Licensed under the GNU Free Documentation License.<br>
+ <a href="https://www.gnu.org/software/make/manual/html_node/Force-Targets.html" class="_attribution-link">https://www.gnu.org/software/make/manual/html_node/Force-Targets.html</a>
+ </p>
+</div>