Hi Terry, > Presumably, when the makefile described by Ralph processes this, it > creates this zip through some kind of script. ... > In other words a makefile, but without the compilation stage.
A makefile is useful for many things other than just compiling code as it defines a set of ‘targets’ using ‘rules’, the default conventionally being called ‘all’, and for each target specifies any things which have to be made first, known as the dependencies, and the commands to run to make this thing once those dependencies were successfully created. Both dependencies and commands are optional so clean: rm -f *.pdf is a target ‘clean’ with no dependencies and with just one command to remove all PDF files, and chap3.tr: fig-directed-acyclic-graph.png says the troff source of chapter 3 depends on a PNG which it embeds when chap3.pdf is produced by some other rule. So a makefile commonly has a ‘release’ target, say release: all check release-check tar cfz $(PROJ)-`git describe --long --dirty`.tar.gz $(DIST) which tars up all the files listed in DIST, named after distribute, using git's description for a version number. If the release process becomes more complex then the commands move from the makefile into a release script, as you say. -- Cheers, Ralph. -- Next meeting: Online, Jitsi, Tuesday, 2020-09-01 20:00 Check to whom you are replying Meetings, mailing list, IRC, ... http://dorset.lug.org.uk New thread, don't hijack: mailto:dorset@mailman.lug.org.uk