annotate Makefile @ 292:bc36619e9e10 default tip

* governance.md: improve text
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Tue, 31 May 2022 01:45:26 +0900
parents bdfeef18fc48
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
1 USRNAME ?= $(shell bash -c 'read -p \
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
2 "The Octave Savannah CVS repository is checked out to the parent directory. Savannah login: " usr; \
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
3 echo $$usr')
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
4
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
5 SAVANNAH_DIR := ../octave
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
6
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
7 CVS_RSH=ssh
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
8
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
9 export CVS_RSH
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
10
182
7a664b44fd8d Use Bundler for consistent development environment with Jekyll.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 162
diff changeset
11 deploy: | $(SAVANNAH_DIR)
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
12 #
182
7a664b44fd8d Use Bundler for consistent development environment with Jekyll.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 162
diff changeset
13 # Build static website into the subdirectory `_site` using Jekyll via
7a664b44fd8d Use Bundler for consistent development environment with Jekyll.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 162
diff changeset
14 # Bundler
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
15 #
255
bdfeef18fc48 Improve Savannah hosting script.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 230
diff changeset
16 bundle exec jekyll build --config _config_Savannah.yml
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
17 #
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
18 # vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
19 # DANGEROUS STEP, omitted by default.
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
20 #
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
21 # Remove all previous files in the target directory, but no directories
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
22 # at all or CVS related stuff. This is due to a limitation of CVS, see
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
23 #
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
24 # https://web.archive.org/web/20140629054602/http://ximbiot.com/cvs/manual/cvs-1.11.23/cvs_7.html#SEC69
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
25 #
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
26 # For some introduction to CVS, see
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
27 # https://savannah.nongnu.org/projects/cvs
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
28 # https://www.cs.umb.edu/~srevilak/cvs.html
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
29 #
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
30 # find $(SAVANNAH_DIR) -type f -not -path "*/CVS/*" -exec rm -f '{}' \;
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
31 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
32 #
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
33 # Copy the content of that directory `_site` into the checked out
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
34 # Savannah CVS (see make target $(SAVANNAH_DIR)).
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
35 #
120
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
36 cp -a _site/. $(SAVANNAH_DIR)
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
37 #
230
acf1b848de1d Makefile: Improve Savannah updates.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 182
diff changeset
38 # Avoid multiple key authentications for the next step
acf1b848de1d Makefile: Improve Savannah updates.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 182
diff changeset
39 #
acf1b848de1d Makefile: Improve Savannah updates.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 182
diff changeset
40 ssh-add
acf1b848de1d Makefile: Improve Savannah updates.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 182
diff changeset
41 #
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
42 # Add all potential new directories to CVS
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
43 #
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
44 cd $(SAVANNAH_DIR) \
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
45 && find . -type d -not -name "CVS" -exec cvs add '{}' \; \
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
46 | true # succeed in any case
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
47 #
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
48 # Add all potential new files to CVS (the following command taken from
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
49 # http://stackoverflow.com/questions/5071/how-to-add-cvs-directories-recursively
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
50 # proved to be fast) and succeed in any case.
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
51 #
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
52 cd $(SAVANNAH_DIR) && find . -type f | grep -v CVS | xargs cvs add | true
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
53 #
162
839113398e6f Makefile: Make rules to succeed in any case and small improvements.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 126
diff changeset
54 # Commit the changes to get online.
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
55 #
230
acf1b848de1d Makefile: Improve Savannah updates.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 182
diff changeset
56 cd $(SAVANNAH_DIR) && cvs commit -m "Update website."
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
57 #
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
58 # Now everything should be visible to the world.
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
59 #
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
60
120
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
61 $(SAVANNAH_DIR):
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
62 cd .. \
bfdbe4eb3128 * Makefile: automating deployment.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
63 && cvs -z3 -d:ext:$(USRNAME)@cvs.savannah.gnu.org:/web/octave checkout -P octave
126
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
64
d851f4f89fb4 Improve Makefile deployment mechanism.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 120
diff changeset
65 .DEFAULT_GOAL :=