chiark / gitweb /
example: Introduce a Final.sd.mk and test it
[subdirmk.git] / README
diff --git a/README b/README
index e3259c0924414e19770c5fa42007646696ddbdab..7de4def345f95bdfa39f6da34992be894b22e11f 100644 (file)
--- a/README
+++ b/README
@@ -83,17 +83,18 @@ targets may be in run in parallel: there is only one `make' invocation
 at a time.  There is no sequencing between subdirectories, only been
 individual targets (as specified according to their dependencies).
 
 at a time.  There is no sequencing between subdirectories, only been
 individual targets (as specified according to their dependencies).
 
-You can define other per-directory recursive targets too: simply
-mention (usually, by setting) the variable &TARGETS_zonk, or whatever.
-This will create a src/zonk target (for appropriate value of src/).
-Unlike `all', these other targets only exist in areas of the project
-where at least something mentions them.  So for example, if
-&TARGETS_zonk is mentioned in src but not lib, `make zonk' in
-lib will fail.  If you want to make a target exist everywhere,
-mention its name in Prefix.sd.mk or Suffix.sd.mk (see below).
-
-Prefix.sd.mk, Suffix.sd.mk, inclusion
--------------------------------------
+You can define other per-directory recursive targets too: set the
+variable &TARGETS_zonk, or whatever (being sure to write &TARGETS_zonk
+at the start of a line).  This will create a src/zonk target (for
+appropriate value of src/).  Unlike `all', these other targets only
+exist in areas of the project where at least something mentions them.
+So for example, if &TARGETS_zonk is set in src but not lib, `make
+zonk' in lib will fail.  If you want to make a target exist
+everywhere, += it with nothing in Prefix.sd.mk or Suffix.sd.mk (see
+below).
+
+Prefix.sd.mk, Suffix.sd.mk, Final.sd.mk, inclusion
+--------------------------------------------------
 
 The files Prefix.sd.mk and Suffix.sd.mk in the toplevel of the source
 are automatically processed before and after each individual
 
 The files Prefix.sd.mk and Suffix.sd.mk in the toplevel of the source
 are automatically processed before and after each individual
@@ -111,6 +112,9 @@ autogenerated `main.mk' which merely has some basic settings and
 includes.  So if you want to get in early and set global variables,
 put them near the top of Subdir.sd.mk.
 
 includes.  So if you want to get in early and set global variables,
 put them near the top of Subdir.sd.mk.
 
+The file Final.sd.mk in the toplevel directory is processed and
+included after all the other files.
+
 subdirmk's filter script itself sets (only) these variables:
   top_srcdir
   abs_top_srcdir
 subdirmk's filter script itself sets (only) these variables:
   top_srcdir
   abs_top_srcdir
@@ -148,7 +152,7 @@ There are two kinds of template files.
  How to include           `&:include foo.sd.mk'   `include foo.mk'
                          in all relevant .sd.mk  in only one
                           (but not needed for     Subdir.sd.mk
  How to include           `&:include foo.sd.mk'   `include foo.mk'
                          in all relevant .sd.mk  in only one
                           (but not needed for     Subdir.sd.mk
-                           Prefix, Suffix)
+                           Prefix, Suffix, Final)
 
 If you `include subdirmk/regen.mk', dependency management and
 automatic regeneration for all of this template substitution, and for
 
 If you `include subdirmk/regen.mk', dependency management and
 automatic regeneration for all of this template substitution, and for