Ready to ship 2.2.
[super-star-trek.git] / Makefile
index 5865d6b1fac203e72426f9497e229079359126f6..ea6a18f3e8d3e81693cd744e8e2bd0bffc9f40ad 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,77 +1,54 @@
-#      Makefile for the Super Star Trek game
+# Makefile for the SST2K project
 
-VERSION=$(shell sed <sst.spec -n -e '/Version: \(.*\)/s//\1/p')
+VERS=$(shell sed <sst.py -n -e '/version *= \"*\(.*\)\"/s//\1/p')
 
-CFLAGS= -O1 -g -Wall -DSSTDOC='"/usr/share/doc/sst/sst.doc"'
+MANDIR=/usr/share/man/man1
+BINDIR=/usr/bin
 
-.c.o:
-       $(CC) $(CFLAGS) -c $<
+DOCS    = README COPYING NEWS doc/HACKING doc/sst-doc.xml doc/sst-layer.xsl doc/sst.xml
+SOURCES = sst.py Makefile replay doc/makehelp.py control $(DOCS)
 
-CFILES= sst.c finish.c reports.c setup.c moving.c battle.c events.c ai.c planets.c io.c sstlinux.c
-OFILES= $(CFILES:.c=.o)
-HFILES=sst.h
-DOCS = README sst-doc.xml sst.xml sst-layer.xsl TODO
+all: sst-$(VERS).tar.gz
 
-# sst.doc and sst.6 are included so target system won't need xmlto
-SOURCES= $(CFILES) $(HFILES) $(DOCS) sst.doc sst.6 makehelp.py makefile sst.spec
+install: sst.6
+       cp sst.py $(BINDIR)
+       gzip <sst.6 >$(MANDIR)/sst.6.gz
 
-all: sst sst.doc
+sst.6: doc/sst.xml
+       cd doc; xmlto man sst.xml; mv sst.6 ..
 
-ai.o: ai.c sst.h
-battle.o: battle.c sst.h
-events.o: events.c sst.h
-finish.o: finish.c sst.h
-io.o: io.c sst.h
-moving.o: moving.c sstlinux.h sst.h
-planets.o: planets.c sst.h
-reports.o: reports.c sst.h
-setup.o: setup.c sst.h
-sst.o: sst.c sstlinux.h sst.h
-sstlinux.o: sstlinux.c sstlinux.h
+sst.html: doc/sst.xml
+       cd doc; xmlto html-nochunks sst.xml; mv sst.html ..
 
-sst:  $(OFILES)
-       gcc  -o sst $(OFILES) -lm -lcurses
+sst-doc.html: doc/sst-doc.xml
+       xmlto xhtml-nochunks doc/sst-doc.xml
 
-$(OFILES):  $(HFILES)
+super-star-trek-$(VERS).tar.gz: $(SOURCES) sst.6
+       tar --transform='s:^:super-star-trek-$(VERS)/:' --show-transformed-names -cvzf super-star-trek-$(VERS).tar.gz $(SOURCES) sst.6
 
-sst.6: sst.xml
-       xmlto man sst.xml
+dist: sst-$(VERS).tar.gz
 
-sst-doc.txt: sst-doc.xml
-       xmlto -m sst-layer.xsl txt sst-doc.xml
-sst.doc: sst-doc.txt
-       makehelp.py >sst.doc
+check: #pylint
+       cd test; make --quiet
 
-sst-doc.html: sst-doc.xml
-       xmlto xhtml-nochunks sst-doc.xml
+pychecker:
+       @-pychecker --quiet --only --limit 50 sst.py
 
-install: uninstall sst.6 sst.doc sst-doc.html 
-       install -m 755 -o 0 -g 0 -d $(ROOT)/usr/bin/
-       install -m 755 -o 0 -g 0 sst $(ROOT)/usr/bin/sst
-       install -m 755 -o 0 -g 0 -d $(ROOT)/usr/share/man/man6/
-       install -m 755 -o 0 -g 0 sst.6 $(ROOT)/usr/share/man/man6/sst.6
-       mkdir -p /usr/share/doc/sst/
-       install -m 644 -o 0 -g 0 sst.doc $(ROOT)/usr/share/doc/sst/
-       install -m 644 -o 0 -g 0 sst-doc.html $(ROOT)/usr/share/doc/sst/index.html
-
-uninstall:
-       rm -f ${ROOT}/usr/bin/sst ${ROOT}/usr/share/man/man6/sst.6
-       rm -fr ${ROOT}/usr/share/doc/sst/
+COMMON_PYLINT = --rcfile=/dev/null --reports=n \
+       --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" \
+       --dummy-variables-rgx='^_'
+PYLINTOPTS = $(COMMON_PYLINT) --disable=C0103,C0111,C0113,C1001,C0301,C0302,C0321,C0325,C0326,C0410,E1120,R0101,R0902,R0903,R0911,R0912,R0914,R0915,R0916,W0110,W0123,W0141,W0312,W0603,W0611
+pylint:
+       @pylint --output-format=parseable $(PYLINTOPTS) sst.py
 
 clean:
-       rm -f *.o sst sst-doc.html sst-doc.txt sst.doc
-
-# The "trunk" below assumes this is a Subversion working copy
-sst-$(VERSION).tar.gz: $(SOURCES) sst.6
-       ls $(SOURCES) sst.6 | sed s:^:sst-$(VERSION)/: >MANIFEST
-       (cd ..; ln -s trunk sst-$(VERSION))
-       (cd ..; tar -czvf trunk/sst-$(VERSION).tar.gz `cat trunk/MANIFEST`)
-       (cd ..; rm sst-$(VERSION))
+       rm -f sst.6 sst.html
+       rm -f *.6 MANIFEST index.html
 
-dist: sst-$(VERSION).tar.gz
+SHIPPER = version=$(VERS) bkgimage=lpt.jpg
 
-release: sst-$(VERSION).tar.gz sst.html
-       shipper; rm -f CHANGES ANNOUNCE* *.6 *.html *.rpm *.lsm MANIFEST
+release: super-star-trek-$(VERS).tar.gz sst.html sst-doc.html
+       shipper $(SHIPPER) | sh -e -x
 
-version:
-       @echo $(VERSION)
+refresh: sst.html
+       shipper -N -w $(SHIPPER)  | sh -e -x