1#	$Id: Makefile,v 1.16 2004/08/14 16:27:40 bronger Exp $
2.PHONY: distri distri-cripple rpm distri-win all info doc
3
4# you may set this to empty in order to install the files
5# non-locally.
6LOCAL=local
7
8USRDIR=/usr/$(LOCAL)
9
10# Standard share directory
11DATADIR= $(USRDIR)/share
12
13# directory for pp3 databases
14PP3DATA= $(DATADIR)/pp3
15
16# General documentation
17DOCDIR= $(DATADIR)/doc/pp3
18
19# Texinfo documentation
20INFODIR= $(DATADIR)/info
21
22# destination directory for executables
23DESTDIR= $(USRDIR)/bin
24
25CHANGEFILE=-
26
27CXXFLAGS=-s -O2
28
29# The standard file permissions for installed
30# non-executables
31PERMS= a+r,u+w
32
33# No changes should be necessary below this line
34# -----------------------------------------------------
35
36all: pp3
37
38doc: pp3-source.pdf
39
40%.cc : %.w
41	$(CTANGLE) $* $(CHANGEFILE) $@
42
43%.dvi : %.w
44	$(CWEAVE) $*
45	$(TEX) $*
46
47pp3: pp3.cc
48	$(CXX) -DPP3DATA=\"$(PP3DATA)\" pp3.cc $(CXXFLAGS) -o pp3
49
50ephem: ephem.cc
51	$(CXX) ephem.cc $(CXXFLAGS) -o ephem
52
53pp3-source.pdf: pp3.w
54	$(CWEAVE) pp3.w
55	pdftex pp3.tex
56	mv pp3.pdf $@
57
58pp3-source.ps: pp3.dvi
59	dvips pp3
60	psselect -p_1,_,1-_2 pp3.ps pp3_.ps
61	mv pp3_.ps $@
62
63pp3-source.ps.gz: pp3.dvi
64	make pp3.ps
65	gzip -f pp3.ps
66	mv pp3.ps.gz $@
67
68info:
69	$(MAKE) --directory=info ROOT=$(ROOT) PERMS=$(PERMS) INFODIR=$(INFODIR) \
70	  DOCDIR=$(DOCDIR)
71
72install: all
73	install -d $(ROOT)$(DESTDIR)
74	install -s pp3 $(ROOT)$(DESTDIR)
75	install -d $(ROOT)$(PP3DATA)
76	install --mode=$(PERMS) *.dat $(ROOT)$(PP3DATA)
77	install -d $(ROOT)$(DATADIR)/doc/pp3/examples
78	install --mode=$(PERMS) examples/* $(ROOT)$(DATADIR)/doc/pp3/examples
79	$(MAKE) --directory=info install ROOT=$(ROOT) PERMS=$(PERMS) \
80	  INFODIR=$(INFODIR) DOCDIR=$(DOCDIR)
81
82DISTRINAME= pp3-1.3.3
83RPMNAME= $(DISTRINAME)-1tb.spec
84
85distri:
86	rm -f $(DISTRINAME).tar.bz2
87	rm -Rf $(DISTRINAME)
88	- rm pp3.cc
89	mkdir $(DISTRINAME)
90	make pp3.cc
91	cp pp3.w pp3.cc $(DISTRINAME)
92	cp COPYING README WHATSNEW Makefile $(DISTRINAME)
93	cp stars.dat milkyway.dat nebulae.dat lines.dat boundaries.dat \
94	  $(DISTRINAME)
95	mkdir $(DISTRINAME)/examples
96	cp wiki/*.pp3 wiki/wiki.tex wiki/Makefile wiki/wiki-convert-sky-chart.scm \
97	  $(DISTRINAME)/examples
98	cp -r info $(DISTRINAME)/
99	-rm -Rf $(DISTRINAME)/info/CVS $(DISTRINAME)/info/*~
100	tar -cjf $(DISTRINAME).tar.bz2 $(DISTRINAME)
101
102distri-cripple:
103	rm -f $(DISTRINAME)-cripple.tar.gz
104	rm -Rf $(DISTRINAME)-cripple
105	make distri
106	rm $(DISTRINAME)/milkyway.dat $(DISTRINAME)/pp3.w \
107	  $(DISTRINAME)/nebulae.dat $(DISTRINAME)/Makefile
108	rm -Rf $(DISTRINAME)/info/
109	tar -czf $(DISTRINAME)-cripple.tar.gz $(DISTRINAME)
110
111rpm:
112	rm -f pp3.cc
113	make distri CXXFLAGS="$(CXXFLAGS)"
114	cp $(DISTRINAME).tar.bz2 $(HOME)/packages/pp3/
115	rpmbuild -ba $(RPMNAME)
116
117distri-win:
118	rm -f $(DISTRINAME)-win.zip
119	rm -Rf $(DISTRINAME)-win
120	make distri
121	mv $(DISTRINAME) $(DISTRINAME)-win
122	rm $(DISTRINAME)-win/pp3.cc $(DISTRINAME)-win/pp3.w
123	$(MAKE) --directory=$(DISTRINAME)-win/info pp3/index.html ROOT=$(ROOT) PERMS=$(PERMS) \
124	  INFODIR=$(INFODIR) DOCDIR=$(DOCDIR)
125	mv $(DISTRINAME)-win/info/pp3 $(DISTRINAME)-win/manual
126	rm -Rf $(DISTRINAME)-win/info/
127	cp win-bin/*.* $(DISTRINAME)-win
128	zip -9 -r $(DISTRINAME)-win.zip $(DISTRINAME)-win/
129
130