[SUBDIRMK RFC v2 3/4] README: v2: Rename Perdir to Suffix; provide Prefix and Final
Ian Jackson
ijackson at chiark.greenend.org.uk
Thu Dec 19 00:50:00 GMT 2019
We want to be able to specify something that appears at the top of
every per-directory segment, principall to provide for-every-directory
variable settings.
A more sophisticated scheme akin to m4 diversions would be possible in
principle, but it would make organising the output files (which must
be processed by autoconf) really awkward - let alone the depenency
management for regenerating the makefiles.
I think this new scheme is sufficient in principle to do anything that
might be needed. It will continue to require that &:include's are
done in the right order.
Not implemented yet.
Signed-off-by: Ian Jackson <ijackson at chiark.greenend.org.uk>
---
README | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/README b/README
index 593d164..f726f9c 100644
--- a/README
+++ b/README
@@ -90,26 +90,30 @@ 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 Perdir.sd.mk (see below).
+mention its name in Prefix.sd.mk or Suffix.sd.mk (see below).
-Perdir.sd.mk, inclusion
------------------------
+Prefix.sd.mk, Suffix.sd.mk, Final.sd.mk, inclusion
+--------------------------------------------------
-The file Perdir.sd.mk in the toplevel of the source is automatically
-processed after each individual directory's Subdir.sd.mk, and the
-&-substituted contents therefore appear once for each subdirectory.
+The files Prefix.sd.mk and Suffix.sd.mk in the toplevel of the source
+are automatically processed before and after each individual
+directory's Subdir.sd.mk, and the &-substituted contents therefore
+appear once for each subdirectory.
This lets you do per-directory boilerplate. Some useful boilerplate
is already provided in subdirmk, for you to reference like this:
&:include subdirmk/cdeps.sd.mk
&:include subdirmk/clean.sd.mk
-For example you could put that in Perdir.sd.mk.
+For example you could put that in Suffix.sd.mk.
The top-level Subdir.sd.mk is the first makefile included after the
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.
+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
@@ -147,7 +151,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
- Subdir and Perdir)
+ Prefix, Suffix, Final)
If you `include subdirmk/regen.mk', dependency management and
automatic regeneration for all of this template substitution, and for
@@ -353,7 +357,7 @@ probably contain:
include subdirmk/usual.mk
include subdirmk/regen.mk
-Write a Perdir.sd.mk in the toplevel, if you want. It should probably
+Write a Suffix.sd.mk in the toplevel, if you want. It should probably
have:
&:include subdirmk/cdeps.sd.mk
--
2.11.0
More information about the sgo-software-discuss
mailing list