Prevent lossage on version-number mismatch.
[super-star-trek.git] / Makefile
1 # Makefile for the SST2K project
2
3 VERS=$(shell sed <sst -n -e '/version *= \"*\(.*\)\"/s//\1/p')
4
5 MANDIR=/usr/share/man/man1
6 BINDIR=/usr/bin
7
8 DOCS    = README COPYING NEWS doc/HACKING doc/sst-doc.xml doc/sst-layer.xsl doc/sst.xml
9 SOURCES = sst Makefile replay doc/makehelp.py control $(DOCS)
10
11 all: super-star-trek-$(VERS).tar.gz
12
13 install: sst.6
14         cp sst $(BINDIR)
15         gzip <sst.6 >$(MANDIR)/sst.6.gz
16
17 sst.6: doc/sst.xml
18         cd doc; xmlto man sst.xml; mv sst.6 ..
19
20 sst.html: doc/sst.xml
21         cd doc; xmlto html-nochunks sst.xml; mv sst.html ..
22
23 sst-doc.html: doc/sst-doc.xml
24         xmlto xhtml-nochunks doc/sst-doc.xml
25
26 super-star-trek-$(VERS).tar.gz: $(SOURCES) sst.6
27         tar --transform='s:^:super-star-trek-$(VERS)/:' --show-transformed-names -cvzf super-star-trek-$(VERS).tar.gz $(SOURCES) sst.6
28
29 dist: sst-$(VERS).tar.gz
30
31 check: pylint
32         @cd test >/dev/null; $(MAKE) --quiet
33
34 reflow:
35         @black sst
36
37 pylint:
38         @pylint --score=n sst
39
40 clean:
41         rm -f sst.6 sst.html sst-doc.html
42         rm -f *.6 MANIFEST index.html
43
44 NEWSVERSION=$(shell sed -n <NEWS '/^[0-9]/s/:.*//p' | head -1)
45
46 SHIPPER = version=$(VERS) bkgimage=lpt.jpg
47
48 release: super-star-trek-$(VERS).tar.gz sst.html sst-doc.html
49         @[ $(VERS) = $(NEWSVERSION) ] || { echo "Version mismatch!"; exit 1; }
50         shipper $(SHIPPER) | sh -e -x
51
52 refresh: sst.html
53         @[ $(VERS) = $(NEWSVERSION) ] || { echo "Version mismatch!"; exit 1; }
54         shipper -N -w $(SHIPPER)  | sh -e -x