3
SVNREPO = svn://svn.oetiker.ch/smokeping
3
4
############ A is for features
4
5
############ B is for bugfixes
5
6
############ V.AAABBB
6
7
############ 2.000001
7
8
############ 2.000002
9
IGNORE = ~|CVS|var/|smokeping-$(VERSION)/smokeping-$(VERSION)|cvsignore|rej|orig|DEAD|pod2htm[di]\.tmp|.svn
10
IGNORE = ~|CVS|var/|smokeping-$(VERSION)/smokeping-$(VERSION)|cvsignore|rej|orig|DEAD|pod2htm[di]\.tmp|\.svn|tar\.gz|DEADJOE|svn-commit\.tmp
11
13
.PHONY: man html txt ref examples check-examples patch killdoc doc tar rename-man symlinks remove-symlinks
13
15
.SUFFIXES: .pm .pod .txt .html .man .1 .3 .5 .7
17
19
PM := lib/Config/Grammar.pm lib/Smokeping.pm lib/Smokeping/Examples.pm lib/Smokeping/RRDtools.pm
18
20
PODPROBE := $(wildcard lib/Smokeping/probes/*.pm)
19
21
PODMATCH := $(wildcard lib/Smokeping/matchers/*.pm)
22
PODSORT := $(wildcard lib/Smokeping/sorters/*.pm)
21
24
DOCSBASE = $(subst .pod,,$(DOCS))
22
25
MODBASE = $(subst .pm,,$(subst lib/,doc/,$(PM))) \
23
26
$(subst .pm,,$(subst lib/,doc/,$(PODPROBE))) \
24
$(subst .pm,,$(subst lib/,doc/,$(PODMATCH)))
27
$(subst .pm,,$(subst lib/,doc/,$(PODMATCH))) \
28
$(subst .pm,,$(subst lib/,doc/,$(PODSORT)))
25
29
PROGBASE = doc/smokeping doc/smokeping.cgi doc/tSmoke
26
30
DOCSCONFIGBASE = doc/smokeping_config
36
40
# pod2html apparently needs to be in the target directory to get L<> links right
37
41
POD2HTML= cd $(dir $@); top="$(shell echo $(dir $@)|sed -e 's,doc/,,' -e 's,[^/]*/,../,g' -e 's,/$$,,')"; top=$${top:-.}; pod2html --infile=$(CURDIR)/$< --noindex --htmlroot=. --podroot=. --podpath=$${top} --title=$* | $${top}/../util/fix-pod2html.pl > $(notdir $@)
38
42
# we go to this trouble to ensure that MAKEPOD only uses modules in the installation directory
39
MAKEPOD= perl -I/home/oetiker/lib/fake-perl/ -Ilib -I/usr/pack/rrdtool-1.2svn-to/lib/perl -mSmokeping -e 'Smokeping::main()' -- --makepod
40
GENEX= perl -I/home/oetiker/lib/fake-perl/ -Ilib -I/usr/pack/rrdtool-1.2svn-to/lib/perl -mSmokeping -e 'Smokeping::main()' -- --gen-examples
43
MAKEPOD= $(PERL) -I/home/oetiker/lib/fake-perl/ -Ilib -I/usr/pack/rrdtool-1.2svn-to/lib/perl -mSmokeping -e 'Smokeping::main()' -- --makepod
44
GENEX= $(PERL) -I/home/oetiker/lib/fake-perl/ -Ilib -I/usr/pack/rrdtool-1.2svn-to/lib/perl -mSmokeping -e 'Smokeping::main()' -- --gen-examples
43
47
$(POD2MAN) --section 7 > $@
58
62
$(POD2MAN) --section 3 > $@
59
63
doc/Smokeping/matchers/%.3: lib/Smokeping/matchers/%.pm
60
64
$(POD2MAN) --section 3 > $@
65
doc/Smokeping/sorters/%.3: lib/Smokeping/sorters/%.pm
66
$(POD2MAN) --section 3 > $@
61
67
doc/Config/%.3: lib/Config/%.pm
62
68
$(POD2MAN) --section 3 > $@
63
69
doc/smokeping.1: bin/smokeping.dist
105
113
rename-man: $(MAN)
106
for j in probes matchers; do \
114
for j in probes matchers sorters; do \
107
115
for i in doc/Smokeping/$$j/*.3; do \
108
116
if echo $$i | grep Smokeping::$$j>/dev/null; then :; else \
109
117
mv $$i `echo $$i | sed s,$$j/,$$j/Smokeping::$$j::,`; \
135
143
doc/smokeping_examples.pod: lib/Smokeping/Examples.pm etc/config.dist
138
perl -i~ -p -e 's/VERSION="\d.*?"/VERSION="$(NUMVERSION)"/' lib/Smokeping.pm
139
perl -i~ -p -e 's/Smokeping \d.*?;/Smokeping $(NUMVERSION);/' bin/smokeping.dist htdocs/smokeping.cgi.dist bin/tSmoke.dist
140
perl -i~ -p -e 'do { my @d = localtime; my $$d = (1900+$$d[5])."/".(1+$$d[4])."/".$$d[3]; print "$$d -- released version $(VERSION)\n\n" } unless $$done++ || /version $(VERSION)/' CHANGES
143
-rm doc/*.[1357] doc/*.txt doc/*.html doc/Smokeping/* doc/Smokeping/probes/* doc/Smokeping/matchers/* doc/Config/* doc/examples/* doc/smokeping_examples.pod doc/smokeping_config.pod doc/smokeping.pod doc/smokeping.cgi.pod
147
-rm doc/*.[1357] doc/*.txt doc/*.html doc/Smokeping/* doc/Smokeping/probes/* doc/Smokeping/matchers/* doc/Smokeping/sorters/* doc/Config/* doc/examples/* doc/smokeping_examples.pod doc/smokeping_config.pod doc/smokeping.pod doc/smokeping.cgi.pod
145
149
doc: killdoc ref examples man html txt rename-man
152
for d in doc/Config doc/examples doc/Smokeping/probes \
153
doc/Smokeping/sorters doc/Smokeping/matchers; do \
154
[ -d $$d ] || mkdir -p $$d; \
147
157
# patch first so Smokeping.pm is older than smokeping_config.pod in the tarball
149
-ln -s . smokeping-$(VERSION)
150
find smokeping-$(VERSION)/* -type f -follow -o -type l | egrep -v '$(IGNORE)' | gtar -T - -czvf smokeping-$(VERSION).tar.gz
151
rm smokeping-$(VERSION)
158
smokeping-$(VERSION).tar.gz:
159
$(PERL) -i~ -p -e 's/VERSION="\d.*?"/VERSION="$(NUMVERSION)"/' lib/Smokeping.pm
160
$(PERL) -i~ -p -e 's/Smokeping \d.*?;/Smokeping $(NUMVERSION);/' bin/smokeping.dist htdocs/smokeping.cgi.dist bin/tSmoke.dist
161
$(PERL) -i~ -p -e 'do { my @d = localtime; my $$d = (1900+$$d[5])."/".(1+$$d[4])."/".$$d[3]; print "$$d -- released version $(VERSION)\n\n" } unless $$done++ || /version $(VERSION)/' CHANGES
154
162
svn commit -m "prepare for the release of smokeping-$(VERSION)"
157
mv smokeping-$(VERSION).tar.gz /home/oetiker/public_html/webtools/smokeping/pub/
158
cp CHANGES /home/oetiker/public_html/webtools/smokeping/pub/CHANGES
163
svn export $(SVNREPO)/trunk/software smokeping-$(VERSION)
164
rm -rf smokeping-$(VERSION)/qooxdoo
165
(cd smokeping-$(VERSION) && $(MAKE) doc)
166
tar czvf smokeping-$(VERSION).tar.gz --exclude '*.tmp' smokeping-$(VERSION)
167
rm -rf smokeping-$(VERSION)
169
dist: smokeping-$(VERSION).tar.gz
170
scp CHANGES smokeping-$(VERSION).tar.gz oposs@oss.oetiker.ch:public_html/smokeping/pub/
161
svn ls svn://svn.ee.ethz.ch/smokeping/tags/$(VERSION) || \
162
svn copy -m "tagging version $(VERSION)" svn://svn.ee.ethz.ch/smokeping/branches/2.0 svn://svn.ee.ethz.ch/smokeping/tags/$(VERSION)
173
svn ls $(SVNREPO)/tags/$(VERSION) || \
174
svn copy -m "tagging version $(VERSION)" $(SVNREPO)/trunk/software $(SVNREPO)/tags/$(VERSION)