diff options
author | EuAndreh <eu@euandre.org> | 2021-06-23 21:04:13 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2021-06-23 21:05:05 -0300 |
commit | db662c5f546843d66356782c3409785ac74b5b5d (patch) | |
tree | b544dbf7d45bf5a04487337258e3b1bee6e66a06 | |
parent | TODOs.md: Mark #task-9ee2bbc8-295f-52b7-4104-483869bad017 as DONE (diff) | |
download | git-permalink-db662c5f546843d66356782c3409785ac74b5b5d.tar.gz git-permalink-db662c5f546843d66356782c3409785ac74b5b5d.tar.xz |
TODOs.md: Add #decision-6c2801da-bcb9-dd38-69bf-270a6f9b5acd
-rw-r--r-- | TODOs.md | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -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 |