Rombobjörn

summaryrefslogtreecommitdiff
path: root/manual.en.html
diff options
context:
space:
mode:
authorBjörn Persson <bjorn@rombobjörn.se>2013-10-18 17:16:32 +0200
committerBjörn Persson <bjorn@rombobjörn.se>2013-10-18 17:16:32 +0200
commit2cc726f84b9a3b7c1c5a963b5adf840ba38754fe (patch)
tree49c886bc66b4c2e32da95611abda17e4449b2974 /manual.en.html
parentfb5c492242f8d3cb67473a5217718e86ee41f439 (diff)
Wrote a pattern rule for making directories.
Diffstat (limited to 'manual.en.html')
-rwxr-xr-xmanual.en.html15
1 files changed, 15 insertions, 0 deletions
diff --git a/manual.en.html b/manual.en.html
index fbeb65c..e54dda0 100755
--- a/manual.en.html
+++ b/manual.en.html
@@ -520,6 +520,19 @@ root of the source tree. Here's an example:</p>
<pre class="example gpr">for Source_Dirs use ($Srcdir &amp; "/tools");</pre>
+<h3 id="rules">Writing Make Rules</h3>
+
+<h4 id="making_directories">Making Directories</h4>
+
+<p>There is no need to write rules to make directories. Comfignat has a pattern
+rule that matches all pathnames that end with a slash, and creates the
+directory and its ancestors. Just specify the directory as an order-only
+prerequisite and be sure to append a slash. This rule ensures that the
+directory <var>data</var> exists before the file <var>db</var> is written:</p>
+
+<pre class="example make">${stage_statedir}/example/data/db: | ${stage_statedir}/example/data/
+ echo stuff > $@</pre>
+
<h3 id="targets">Make Targets</h3>
<p>These phony targets are defined in <var>comfignat.mk</var>:</p>
@@ -627,6 +640,8 @@ working in subdirectories use the right build and staging directories.</p></li>
<li><p>The ability to save environment variables in the persistent
configuration was added.</p></li>
+<li><p>The pattern rule for making directories was added.</p></li>
+
<li><p>The Make targets <var>all</var>, <var>base</var> and
<var>show_configuration</var> were added.</p></li>
</ul>