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.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/HACKING/build-system.md b/HACKING/build-system.md
new file mode 100644
index 0000000..40abd28
--- /dev/null
+++ b/HACKING/build-system.md
@@ -0,0 +1,20 @@
+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.
+
+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 |
+
+`srcfiles` basically becomes `std.src_files`.