From dc9339b5699ee3b0d48145a1389f93e9e09d02a6 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 30 Jan 2017 14:46:36 -0500 Subject: Update and tidy the build system for autothing v3. --- HACKING/build-system.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'HACKING') 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`. -- cgit v1.2.3-54-g00ecf