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