summaryrefslogtreecommitdiff
path: root/HACKING/build-system.md
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING/build-system.md')
-rw-r--r--HACKING/build-system.md28
1 files changed, 16 insertions, 12 deletions
diff --git a/HACKING/build-system.md b/HACKING/build-system.md
index 40abd28..6c8381a 100644
--- a/HACKING/build-system.md
+++ b/HACKING/build-system.md
@@ -1,20 +1,24 @@
The build system is built around an Automake-replacing Makefile
-snippet system for GNU Make that I wrote, called Autothing. It is
-documented in `build-aux/Makfile.README.txt`. It provides all of the
-standard targets and such; you tell it what to do by setting a series
-of `at.whatever` or `std.whatever` variables.
+snippet system for GNU Make that I (lukeshu) wrote, called Autothing.
+It is documented in `build-aux/Makfile.README.txt`. It provides all
+of the standard targets and such; you tell it what to do by setting a
+series of `at.whatever` or `module.whatever` variables.
There are a couple of variables that get automatically set from git.
This happens by `include`ing a hidden makefile that sets them; if
`$(topsrcdir)/.git` exists, it knows to use git to generate it;
otherwise it expects the file to exist:
-| variable | file |
-|--------------------+----------------------------------------|
-| srcfiles | $(srcdir)/.srcfiles.mk |
-| LIBRETOOLS_VERSION | $(topsrcdir)/.srcversion-libretools.mk |
-| LIBRETOOLS_COMMIT | $(topsrcdir)/.srcversion-libretools.mk |
-| DEVTOOLS_VERSION | $(topsrcdir)/.srcversion-devtools.mk |
-| DEVTOOLS_COMMIT | $(topsrcdir)/.srcversion-devtools.mk |
+| variable | file |
+|----------------------+------------------------------------------|
+| `files.src.src` | `$(topsrcdir)/.srcfiles.mk` |
+| `LIBRETOOLS_VERSION` | `$(topsrcdir)/.srcversion-libretools.mk` |
+| `LIBRETOOLS_COMMIT` | `$(topsrcdir)/.srcversion-libretools.mk` |
+| `DEVTOOLS_VERSION` | `$(topsrcdir)/.srcversion-devtools.mk` |
+| `DEVTOOLS_COMMIT` | `$(topsrcdir)/.srcversion-devtools.mk` |
-`srcfiles` basically becomes `std.src_files`.
+Now, the `Makefile`s in each directory are pretty bare. Most of
+everything can be guesses by inspecting `$(files.src.src)` (Want to
+add a shell program? Just commit the executable; the Makefile will
+see it.) So, most of the real Makefile stuff is in the files
+`build-aux/Makefile.*/??-libretools.mk`.