summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2017-01-30 14:46:36 -0500
committerLuke Shumaker <lukeshu@sbcglobal.net>2017-01-30 18:54:01 -0500
commitdc9339b5699ee3b0d48145a1389f93e9e09d02a6 (patch)
treeed71bd691ea6e0d05d47e2bfd891c333bf5709ab /HACKING
parent4f9203808ef9607ae27eba3cf77079bbe661fd95 (diff)
Update and tidy the build system for autothing v3.
Diffstat (limited to 'HACKING')
-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`.