aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2021-06-23 21:04:13 -0300
committerEuAndreh <eu@euandre.org>2021-06-23 21:05:05 -0300
commitdb662c5f546843d66356782c3409785ac74b5b5d (patch)
treeb544dbf7d45bf5a04487337258e3b1bee6e66a06
parentTODOs.md: Mark #task-9ee2bbc8-295f-52b7-4104-483869bad017 as DONE (diff)
downloadgit-permalink-db662c5f546843d66356782c3409785ac74b5b5d.tar.gz
git-permalink-db662c5f546843d66356782c3409785ac74b5b5d.tar.xz
TODOs.md: Add #decision-6c2801da-bcb9-dd38-69bf-270a6f9b5acd
-rw-r--r--TODOs.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/TODOs.md b/TODOs.md
index bd7ebf7..257beec 100644
--- a/TODOs.md
+++ b/TODOs.md
@@ -290,6 +290,43 @@ part of the first version:
# Decisions
+## DONE Use `aux/workflow/manpages.sh` in the `make && make install` flow {#decision-6c2801da-bcb9-dd38-69bf-270a6f9b5acd}
+- DONE in 2021-06-23
+- TODO in 2021-06-23
+
+---
+
+Excerpt from
+[`412a3f36cb40dba18f4f0f70a6804882ac6c68eb`](https://git.euandreh.xyz/git-permalink/commit/?id=412a3f36cb40dba18f4f0f70a6804882ac6c68eb)
+that implemented this change:
+
+```text
+I disliked the fact that aux/workflow/manpages.sh still is being used
+for the "install" and "uninstall" targets. Before this file, the
+canonical workflow of "make && make install/uninstall" was 100%
+embedded within the Makefile itself. But now the Makefile calls to an
+external script for that. This isn't a real cost, other than how
+obvious the behaviour is for someone looking at the Makefile for the
+first time.
+
+I still chose to do it anyway, because there was already too many
+things in the Makefile itself, and it was getting worse with time. I
+made sure to never cross the line of relying on an external tool for
+the canonical "make && make install/uninstall", and even for
+"make check". Those all work without requiring any extra tool outside
+what POSIX defines, such as "sed", "awk", etc. Despite the cost of
+adding this detour from the liner Makefile flow, I found it to be worth
+it to call to the external script, as this script can now also be
+shared across projects, and the customized Makefile be made simpler.
+
+In other to remove the "-- $(do_subst)" horrendous hack, I chose to use
+an inference rule for ".in" files, and remove the "$(do_subst)"
+variable altogether. Now all the files that need to go through sed
+should end in ".in", and the Makefile will take care of producing it.
+The upside is that this model is much better integrater into make
+itself.
+```text
+
## DONE Commit the generated manpage translations directly into the repository {#decision-1f7db3d5-002e-515e-f209-0d0917228359}
- DONE in 2021-06-21