annotate world/Makefile @ 2387:53c34aaf4515

Add PHP kludge for generating batclient.xml and necessary Makefile rules for doing it when loc files change, but only if PHP interpreter can be found.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 06 Nov 2021 18:01:23 +0200
parents 3e8d01bdc195
children e845f54be995
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
346
721bfe123726 Minor refactoring of the build files.
Matti Hamalainen <ccr@tnsp.org>
parents: 338
diff changeset
1 include ../config.mak
721bfe123726 Minor refactoring of the build files.
Matti Hamalainen <ccr@tnsp.org>
parents: 338
diff changeset
2 include config.mak
721bfe123726 Minor refactoring of the build files.
Matti Hamalainen <ccr@tnsp.org>
parents: 338
diff changeset
3
1547
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
4 ###
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
5 ### Main targets
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
6 ###
1708
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
7 TARGETS=$(addsuffix .html,$(WORLD_MAPS)) \
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
8 $(addsuffix .ansi,$(WORLD_MAPS)) \
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
9 $(addsuffix .png,$(WORLD_MAPS)) \
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
10 $(addsuffix .htm,$(WORLD_MAPS)) \
1624
6632f32db8a3 Fix some build things.
Matti Hamalainen <ccr@tnsp.org>
parents: 1623
diff changeset
11 util.js
1536
796cf56a9b0a Disable plain HTML (non-javascript enhanced) versions.
Matti Hamalainen <ccr@tnsp.org>
parents: 1515
diff changeset
12
796cf56a9b0a Disable plain HTML (non-javascript enhanced) versions.
Matti Hamalainen <ccr@tnsp.org>
parents: 1515
diff changeset
13
1547
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
14 ###
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
15 ### If no target specified, show some help
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
16 ###
842
f5dda74e6e07 Print help if no target is given. Remove generation of worldmap.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
17 all:
2067
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
18 @echo "Usage: make <target>"
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
19 @echo "Available targets are as follows:"
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
20 @echo
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
21 @echo "maps : Build HTML, HTML+JS, PNG image and ANSI format maps."
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
22 @echo "fetch : Fetch latest raw ASCII map data from bat.org."
842
f5dda74e6e07 Print help if no target is given. Remove generation of worldmap.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
23 @echo
2067
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
24 @echo "diff : Do special diff operation between new data (gotten via 'fetch')"
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
25 @echo " and update .loc files for each continent with new locations."
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
26 @echo " A diff -u of new and old location files is outputted."
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
27 @echo
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
28 @echo "upload : Uploads map and loc-files via SCP to server specified in"
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
29 @echo " ../config.mak"
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
30 @echo
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
31 @echo "gimp : Execute Gimp with all PNG targets for post-processing."
97e4361d9ac9 Clean up 'make help'.
Matti Hamalainen <ccr@tnsp.org>
parents: 2047
diff changeset
32 @echo "clean : Delete all the generated files."
2069
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
33 @echo "changelog : Build changelog for map and location changes only."
1512
031708e1dcb9 Update help.
Matti Hamalainen <ccr@tnsp.org>
parents: 1237
diff changeset
34 @echo
842
f5dda74e6e07 Print help if no target is given. Remove generation of worldmap.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
35
f5dda74e6e07 Print help if no target is given. Remove generation of worldmap.
Matti Hamalainen <ccr@tnsp.org>
parents: 807
diff changeset
36
1547
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
37 ###
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
38 ### Maps
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
39 ###
1708
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
40 maps: $(addsuffix .ppm,$(WORLD_MAPS)) $(TARGETS)
39
fa68caaf3c94 New maps
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
41
1547
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
42 include Makefile.inc
346
721bfe123726 Minor refactoring of the build files.
Matti Hamalainen <ccr@tnsp.org>
parents: 338
diff changeset
43
1708
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
44 LOCLIST=$(addsuffix .loc,$(WORLD_MAPS)) special.loc limbo.loc
99
140dda7f853d Updates
Matti Hamalainen <ccr@tnsp.org>
parents: 95
diff changeset
45
2317
f90303eec665 Include misc maps in generated changelog as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 2315
diff changeset
46
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
47 ###
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
48 ### Special targets
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
49 ###
2317
f90303eec665 Include misc maps in generated changelog as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 2315
diff changeset
50 changelog.txt: $(addsuffix .map,$(WORLD_MAPS)) \
f90303eec665 Include misc maps in generated changelog as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 2315
diff changeset
51 $(LOCLIST) \
f90303eec665 Include misc maps in generated changelog as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 2315
diff changeset
52 $(addprefix ../$(MISC_MAPS_PATH),$(addsuffix .map,$(MISC_MAPS))) \
f90303eec665 Include misc maps in generated changelog as well.
Matti Hamalainen <ccr@tnsp.org>
parents: 2315
diff changeset
53 $(addprefix ../$(MISC_MAPS_PATH),$(addsuffix .loc,$(MISC_MAPS)))
2069
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
54 @( echo '<?xml version="1.0"?>' && echo '<log>' && \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
55 hg log $+ -M -v -f --template \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
56 '<logentry revision="{rev}"><author>{author|escape}</author><date>{date|isodate}</date><paths><path>{files}</path></paths><msg>{desc|escape}</msg></logentry>\n' && \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
57 echo '</log>' ) | \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
58 iconv -f "iso-8859-1" -t "utf-8" | \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
59 xsltproc --stringparam strip-prefix "" \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
60 --stringparam linelen 80 \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
61 --stringparam groupbyday yes \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
62 --stringparam include-rev no \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
63 "svn2cl.xsl" - | \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
64 sed 's/world\///g;s/maps\///g;s/Matti .*/Ggr/g;s/Jarkko .*/Jeskko/g' \
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
65 > $@
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
66
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
67 # Build changelog
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
68 changelog: changelog.txt
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
69 @touch $@
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
70
2387
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
71 # Build batclient.xml
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
72 HAVE_PHP ?= $(shell php --version > /dev/null && echo "yes")
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
73 ifeq ($(HAVE_PHP),yes)
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
74 TARGETS += batclient.xml
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
75
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
76 batclient.xml: $(addsuffix .loc,$(WORLD_MAPS)) $(MKLOC_BIN) ../www/world.inc.php
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
77 php ../src/generate_batclient_xml.php $(MKLOC_BIN) ./ ../www/world.inc.php $@
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
78
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
79 endif
53c34aaf4515 Add PHP kludge for generating batclient.xml and necessary Makefile rules for
Matti Hamalainen <ccr@tnsp.org>
parents: 2369
diff changeset
80
2069
d0e00cd7b2a5 Add make target for building changelog.txt, that contains cleaned up
Matti Hamalainen <ccr@tnsp.org>
parents: 2067
diff changeset
81
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
82 # Upload changed files to site
2318
7424be5d9d3c Do not upload changelog with 'changelog' target.
Matti Hamalainen <ccr@tnsp.org>
parents: 2317
diff changeset
83 upload: $(TARGETS) $(LOCLIST) changelog.txt
2047
7b18fb64dff1 Use rsync + ssh instead of scp for uploads.
Matti Hamalainen <ccr@tnsp.org>
parents: 1858
diff changeset
84 $(RSCP) $? $(UPLOAD_URL)
1623
032cdfc4f017 Various build fixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 1622
diff changeset
85 @touch $@
95
0d2b25e342df Also make PNG images from maps
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
86
1514
835360392879 Add target for automatically running Gimp for PNG post-processing.
Matti Hamalainen <ccr@tnsp.org>
parents: 1512
diff changeset
87 # Open PNG files in Gimp
1708
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
88 gimp: $(addsuffix .png,$(WORLD_MAPS))
1621
471fa81c6c67 Improve 'make gimp' target a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 1586
diff changeset
89 -@ls -lt $+ gimp
471fa81c6c67 Improve 'make gimp' target a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 1586
diff changeset
90 @gimp $+ && touch $@
471fa81c6c67 Improve 'make gimp' target a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 1586
diff changeset
91 -@ls -lt $+ gimp
1514
835360392879 Add target for automatically running Gimp for PNG post-processing.
Matti Hamalainen <ccr@tnsp.org>
parents: 1512
diff changeset
92
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
93 # Upload only *.loc files
1585
f1c40a6a4019 Fix and improve *.loc file uploads.
Matti Hamalainen <ccr@tnsp.org>
parents: 1575
diff changeset
94 uploc: $(LOCLIST)
2047
7b18fb64dff1 Use rsync + ssh instead of scp for uploads.
Matti Hamalainen <ccr@tnsp.org>
parents: 1858
diff changeset
95 $(RSCP) $+ $(UPLOAD_URL)
291
b78d089a0cf4 Upload target for location files only.
Matti Hamalainen <ccr@tnsp.org>
parents: 255
diff changeset
96
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
97 # Fetch raw ASCII maps from bat.org to *.new
459
30c9f70a554e Foo-bar.
Matti Hamalainen <ccr@tnsp.org>
parents: 436
diff changeset
98 fetch:
2369
3e8d01bdc195 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 2367
diff changeset
99 @for AMAP in $(CONT_MAPS); do echo "Fetching $${AMAP}.new"; $(HTTPGET) "$${AMAP}.new" "$(BATMAPURL)$${AMAP}.txt"; done
459
30c9f70a554e Foo-bar.
Matti Hamalainen <ccr@tnsp.org>
parents: 436
diff changeset
100
30c9f70a554e Foo-bar.
Matti Hamalainen <ccr@tnsp.org>
parents: 436
diff changeset
101
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
102 # Remove all temporary .diff files
653
b5bd0d457481 Improved 'make diff' target.
Matti Hamalainen <ccr@tnsp.org>
parents: 605
diff changeset
103 cleardiff:
b5bd0d457481 Improved 'make diff' target.
Matti Hamalainen <ccr@tnsp.org>
parents: 605
diff changeset
104 $(RM) *.diff
b5bd0d457481 Improved 'make diff' target.
Matti Hamalainen <ccr@tnsp.org>
parents: 605
diff changeset
105
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
106 # Diff target - run diff for each .map and .new (fetched via 'fetch' target).
1069
25cf3cf2acc8 Change to use Mercurial instead of Subversion.
Matti Hamalainen <ccr@tnsp.org>
parents: 950
diff changeset
107 # Finally do 'hg diff' to show changes.
1708
9a124fdb6dab Rename various Makefile variables and improve + modularize hcbat-related things better.
Matti Hamalainen <ccr@tnsp.org>
parents: 1707
diff changeset
108 diff: cleardiff $(addsuffix .diff,$(CONT_MAPS))
1155
2f7ca3ec98e8 Only 'hg diff' current directory with 'make diff'.
Matti Hamalainen <ccr@tnsp.org>
parents: 1069
diff changeset
109 @hg diff .
459
30c9f70a554e Foo-bar.
Matti Hamalainen <ccr@tnsp.org>
parents: 436
diff changeset
110
2348
6ef9445390d2 Move Javascript files under src/ too.
Matti Hamalainen <ccr@tnsp.org>
parents: 2318
diff changeset
111 %.js:: ../src/%.js
1623
032cdfc4f017 Various build fixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 1622
diff changeset
112 @ln -s $< $@
032cdfc4f017 Various build fixes.
Matti Hamalainen <ccr@tnsp.org>
parents: 1622
diff changeset
113
950
72e53a705775 Add comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 937
diff changeset
114 # Clean temporary and generated targets
39
fa68caaf3c94 New maps
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
115 clean:
937
9342d636bc21 Remove *.script files on clean target.
Matti Hamalainen <ccr@tnsp.org>
parents: 911
diff changeset
116 $(RM) $(TARGETS) *.diff *.ppm *.o *.script
39
fa68caaf3c94 New maps
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
117
fa68caaf3c94 New maps
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
118 srcclean: clean
299
ed5dfa77511f Removed '-f' option.
Matti Hamalainen <ccr@tnsp.org>
parents: 297
diff changeset
119 $(RM) *~
39
fa68caaf3c94 New maps
Matti Hamalainen <ccr@tnsp.org>
parents:
diff changeset
120
297
5482736f3913 ChangeLog generation target added.
Matti Hamalainen <ccr@tnsp.org>
parents: 291
diff changeset
121 .changelog: update
5482736f3913 ChangeLog generation target added.
Matti Hamalainen <ccr@tnsp.org>
parents: 291
diff changeset
122 @echo "* Making ChangeLog ..."
1547
2768b2b396a5 Cosmetics and comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 1536
diff changeset
123 @hg2cl
297
5482736f3913 ChangeLog generation target added.
Matti Hamalainen <ccr@tnsp.org>
parents: 291
diff changeset
124 @touch $@
5482736f3913 ChangeLog generation target added.
Matti Hamalainen <ccr@tnsp.org>
parents: 291
diff changeset
125
5482736f3913 ChangeLog generation target added.
Matti Hamalainen <ccr@tnsp.org>
parents: 291
diff changeset
126 ChangeLog: .changelog
5482736f3913 ChangeLog generation target added.
Matti Hamalainen <ccr@tnsp.org>
parents: 291
diff changeset
127