XML validates OK.
[super-star-trek.git] / makefile
1 #       Makefile for the Super Star Trek game
2
3 VERS=$(shell sed <sst.spec -n -e '/Version: \(.*\)/s//\1/p')
4
5 CFLAGS= -O1 -g -Wall -DSSTDOC='"/usr/share/doc/sst/sst.doc"'
6
7 .c.o:
8         $(CC) $(CFLAGS) -c $<
9
10 CFILES= sst.c finish.c reports.c setup.c moving.c battle.c events.c ai.c planets.c io.c sstlinux.c conio.c
11 OFILES= $(CFILES:.c=.o)
12 HFILES=sst.h
13 DOCS = README sst-doc.xml sst.xml sst-layer.xsl TODO
14
15 # sst.doc and sst.6 are included so target system won't need xmlto
16 SOURCES= $(CFILES) $(HFILES) $(DOCS) sst.doc sst.6 makehelp.py makefile sst.spec
17
18 all: sst sst.doc
19
20 ai.o: ai.c sst.h
21 battle.o: battle.c conio.h sst.h
22 conio.o: conio.c conio.h
23 events.o: events.c sst.h
24 finish.o: finish.c sst.h
25 io.o: io.c conio.h sst.h
26 moving.o: moving.c sstlinux.h conio.h sst.h
27 planets.o: planets.c sst.h
28 reports.o: reports.c sst.h conio.h
29 setup.o: setup.c conio.h sst.h
30 sst.o: sst.c conio.h sstlinux.h sst.h
31 sstlinux.o: sstlinux.c sstlinux.h
32
33 sst:  $(OFILES)
34         gcc  -o sst $(OFILES) -lm -lcurses
35
36 $(OFILES):  $(HFILES)
37
38 sst.6: sst.xml
39         xmlto --skip-validation man sst.xml
40
41 sst-doc.txt: sst-doc.xml
42         xmlto -m sst-layer.xsl txt sst-doc.xml
43 sst.doc: sst-doc.txt
44         makehelp.py >sst.doc
45
46 sst-doc.html: sst-doc.xml
47         xmlto xhtml-nochunks sst-doc.xml
48
49 install: uninstall sst.6 sst.doc sst-doc.html 
50         install -m 755 -o 0 -g 0 -d $(ROOT)/usr/bin/
51         install -m 755 -o 0 -g 0 sst $(ROOT)/usr/bin/sst
52         install -m 755 -o 0 -g 0 -d $(ROOT)/usr/share/man/man6/
53         install -m 755 -o 0 -g 0 sst.6 $(ROOT)/usr/share/man/man6/sst.6
54         mkdir -p /usr/share/doc/sst/
55         install -m 644 -o 0 -g 0 sst.doc $(ROOT)/usr/share/doc/sst/
56         install -m 644 -o 0 -g 0 sst-doc.html $(ROOT)/usr/share/doc/sst/index.html
57
58 uninstall:
59         rm -f ${ROOT}/usr/bin/sst ${ROOT}/usr/share/man/man6/sst.6
60         rm -fr ${ROOT}/usr/share/doc/sst/
61
62 clean:
63         rm -f *.o sst sst-doc.html sst-doc.txt sst.doc
64
65 # The "trunk" below assumes this is a Subversion working copy
66 sst-$(VERS).tar.gz: $(SOURCES) sst.6
67         ls $(SOURCES) sst.6 | sed s:^:sst-$(VERS)/: >MANIFEST
68         (cd ..; ln -s trunk sst-$(VERS))
69         (cd ..; tar -czvf trunk/sst-$(VERS).tar.gz `cat trunk/MANIFEST`)
70         (cd ..; rm sst-$(VERS))
71
72 dist: sst-$(VERS).tar.gz
73
74 release: sst-$(VERS).tar.gz sst.html
75         shipper -f; rm -f CHANGES ANNOUNCE* *.6 *.html *.rpm *.lsm MANIFEST