> I do not know enough about writing Makefiles, but is there a way > to chain together the rules and targets so you could either use > Guix or not, like a "make serial-shell" and a "make > guix-serial-shell" with the latter prepending "guix > time-machine..." to the serial-shell command? How about sth like #+begin_src makefile something: @ echo "Doing something" guix-something: guix shell coreutils -- $(MAKE) something .PHONY: something guix-something #+end_src Assuming you did put the above under /tmp you can try it out like this #+begin_example /tmp$ make something Doing something /tmp$ make guix-something guix shell coreutils -- make something make[1]: Entering directory '/tmp' Doing something make[1]: Leaving directory '/tmp' #+end_example This is great for phony targets (i.e. ones that are not intended to produce a file with the same name as the target). You're also not forbidden from making `guix-` variants for non-phony targets the same way. Although then the `guix-` variant will end up being phony anyway ¯\_(ツ)_/¯ W -- (sig_start) website: https://koszko.org/koszko.html PGP: https://koszko.org/key.gpg fingerprint: E972 7060 E3C5 637C 8A4F 4B42 4BC5 221C 5A79 FD1A Meet Kraków saints! #37: blessed Michał Tomaszek Poznaj świętych krakowskich! #37: błogosławiony Michał Tomaszek https://pl.wikipedia.org/wiki/Michał_Tomaszek -- (sig_end) On Thu, 08 Dec 2022 09:21:42 -0500 Peter Polidoro wrote: > zimoun writes: > > > where I try to decouple what requires Guix and what not. Well, > > I have > > not tried, but the idea is then to run: > > > > $ guix-serial-shell.sh make serial-shell > > > > where the Makefile contains the rule: > > > > serial-shell: > > picocom -b 9600 -f n -y n -d 8 -p 1 -c $(PORT) > > I really like your approach and your directory layout, thank you. > > So you are not concerned about Makefile conflicts or using Make in > ways that may not have been intended? Maybe I should just learn to > stop worrying and love the Makefile. > > It does seem to add lots of complication in order to decouple Guix > from the Makefile, though, with all the extra shell scripts and > commands. In general I like the idea of software units being > decoupled, but realistically I never want to go back to life > before Guix. Spending too much effort making it work without Guix > just encourages other people to use bad practices I am starting to > think. > > I do not know enough about writing Makefiles, but is there a way > to chain together the rules and targets so you could either use > Guix or not, like a "make serial-shell" and a "make > guix-serial-shell" with the latter prepending "guix > time-machine..." to the serial-shell command? >