-# 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 -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 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: super-star-trek-$(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 $(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 >/dev/null; $(MAKE) --quiet
-sst-doc.html: sst-doc.xml
- xmlto xhtml-nochunks sst-doc.xml
-
-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/
+pylint:
+ @pylint --score=n sst
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 sst-doc.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