annotate Makefile.lang.in @ 20076:be7602c8bb32 draft

(svn r25010) -Codechange: Add general framework for cargo actions, i.e. loading, transfering, delivering and such, to contain this logic in a single place instead of spread around (fonsinchen)
author rubidium <rubidium@openttd.org>
date Sun, 17 Feb 2013 14:36:40 +0000
parents 2d863b09277f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12778
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
1 # $Id$
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
2
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
3 # This file is part of OpenTTD.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
4 # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
5 # OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
6 # See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
bc7926153e19 (svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents: 12381
diff changeset
7
12961
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
8 STRGEN = !!STRGEN!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
9 ENDIAN_CHECK = !!ENDIAN_CHECK!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
10 SRC_DIR = !!SRC_DIR!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
11 LANG_DIR = !!LANG_DIR!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
12 BIN_DIR = !!BIN_DIR!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
13 LANGS_SRC = $(shell ls $(LANG_DIR)/*.txt)
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
14 LANGS = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng)
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
15 CXX_BUILD = !!CXX_BUILD!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
16 CFLAGS_BUILD = !!CFLAGS_BUILD!!
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
17 CXXFLAGS_BUILD= !!CXXFLAGS_BUILD!!
12961
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
18 LDFLAGS_BUILD = !!LDFLAGS_BUILD!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
19 STRGEN_FLAGS = !!STRGEN_FLAGS!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
20 STAGE = !!STAGE!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
21 LANG_SUPPRESS = !!LANG_SUPPRESS!!
d47724c1c01f (svn r17454) -Codechange: some alignment in Makefile*.in
smatz <smatz@openttd.org>
parents: 12779
diff changeset
22 LANG_OBJS_DIR = !!LANG_OBJS_DIR!!
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
23
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
24 ifeq ($(LANG_SUPPRESS), yes)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
25 LANG_ERRORS = >/dev/null 2>&1
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
26 endif
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
27
13575
b229beb1618e (svn r18097) -Fix: typo in comment
rubidium <rubidium@openttd.org>
parents: 12961
diff changeset
28 # Make sure endian_host.h is reachable as if it was in the src/ dir
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
29 CFLAGS_BUILD += -I $(LANG_OBJS_DIR)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
30
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
31 ENDIAN_TARGETS := endian_host.h endian_target.h $(ENDIAN_CHECK)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
32
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
33 # Check if we want to show what we are doing
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
34 ifdef VERBOSE
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
35 Q =
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
36 E = @true
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
37 else
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
38 Q = @
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
39 E = @echo
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
40 endif
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
41
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
42 RES := $(shell mkdir -p $(BIN_DIR)/lang )
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
43
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
44 all: table/strings.h $(LANGS)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
45
18728
bc1d87f9a787 (svn r23576) -Codechange: split the base of strgen with the strgen code that creates the actual .lng files
rubidium <rubidium@openttd.org>
parents: 18727
diff changeset
46 strgen_base.o: $(SRC_DIR)/strgen/strgen_base.cpp $(SRC_DIR)/strgen/strgen.h endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h
bc1d87f9a787 (svn r23576) -Codechange: split the base of strgen with the strgen code that creates the actual .lng files
rubidium <rubidium@openttd.org>
parents: 18727
diff changeset
47 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
48 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $<
18728
bc1d87f9a787 (svn r23576) -Codechange: split the base of strgen with the strgen code that creates the actual .lng files
rubidium <rubidium@openttd.org>
parents: 18727
diff changeset
49
18727
6f49f2276a02 (svn r23575) -Codechange: split class definition and implementation of base strgen classes
rubidium <rubidium@openttd.org>
parents: 17401
diff changeset
50 strgen.o: $(SRC_DIR)/strgen/strgen.cpp $(SRC_DIR)/strgen/strgen.h endian_host.h $(SRC_DIR)/table/control_codes.h $(SRC_DIR)/table/strgen_tables.h
5587
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5573
diff changeset
51 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
52 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $<
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
53
5587
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5573
diff changeset
54 string.o: $(SRC_DIR)/string.cpp endian_host.h
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5573
diff changeset
55 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
56 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $<
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
57
8539
0b2342e9671b (svn r12117) -Fix (r12115): strgen compilation was broken
glx <glx@openttd.org>
parents: 8416
diff changeset
58 alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h
0b2342e9671b (svn r12117) -Fix (r12115): strgen compilation was broken
glx <glx@openttd.org>
parents: 8416
diff changeset
59 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
60 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $<
8539
0b2342e9671b (svn r12117) -Fix (r12115): strgen compilation was broken
glx <glx@openttd.org>
parents: 8416
diff changeset
61
17358
638c44f77afa (svn r22102) -Codechange: Also use the getopt function in strgen.
alberth <alberth@openttd.org>
parents: 14459
diff changeset
62 getoptdata.o: $(SRC_DIR)/misc/getoptdata.cpp $(SRC_DIR)/misc/getoptdata.h
638c44f77afa (svn r22102) -Codechange: Also use the getopt function in strgen.
alberth <alberth@openttd.org>
parents: 14459
diff changeset
63 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/misc/%.cpp=%.cpp)'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
64 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) -DSTRGEN -c -o $@ $<
17358
638c44f77afa (svn r22102) -Codechange: Also use the getopt function in strgen.
alberth <alberth@openttd.org>
parents: 14459
diff changeset
65
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
66 lang/english.txt: $(LANG_DIR)/english.txt
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
67 $(Q)mkdir -p lang
5594
966ed79810d0 (svn r8047) -Revert (8002): cp -u is not supported on all platforms.
rubidium <rubidium@openttd.org>
parents: 5587
diff changeset
68 $(Q)cp $(LANG_DIR)/english.txt lang/english.txt
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
69
18728
bc1d87f9a787 (svn r23576) -Codechange: split the base of strgen with the strgen code that creates the actual .lng files
rubidium <rubidium@openttd.org>
parents: 18727
diff changeset
70 $(STRGEN): alloc_func.o string.o strgen_base.o strgen.o getoptdata.o
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
71 $(E) '$(STAGE) Compiling and Linking $@'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
72 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) $(LDFLAGS_BUILD) $^ -o $@
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
73
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
74 table/strings.h: lang/english.txt $(STRGEN)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
75 $(E) '$(STAGE) Generating $@'
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
76 @mkdir -p table
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
77 $(Q)./$(STRGEN) -s $(LANG_DIR) -d table
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
78
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
79 $(LANGS): %.lng: $(LANG_DIR)/%.txt $(STRGEN) lang/english.txt
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
80 $(E) '$(STAGE) Compiling language $(*F)'
5499
0dce21c87b47 (svn r7788) -Fix (r7759): do not stop compiling languages when one language fails to compile.
rubidium <rubidium@openttd.org>
parents: 5475
diff changeset
81 $(Q)./$(STRGEN) $(STRGEN_FLAGS) -s $(LANG_DIR) -d $(LANG_OBJS_DIR) $< $(LANG_ERRORS) && cp $@ $(BIN_DIR)/lang || true # Do not fail all languages when one fails
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
82
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
83 # The targets to compile the endian-code
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
84
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
85 endian_host.h: $(ENDIAN_CHECK)
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
86 $(E) '$(STAGE) Testing endianness for host'
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
87 $(Q)./$(ENDIAN_CHECK) > $@
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
88
5587
c44c070c5032 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents: 5573
diff changeset
89 $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
90 $(E) '$(STAGE) Compiling and Linking $@'
19462
2d863b09277f (svn r24365) -Fix-ish: add C(XX)FLAGS_BUILD to all the executables that are compiled for the build enviroment
rubidium <rubidium@openttd.org>
parents: 18728
diff changeset
91 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $(CXXFLAGS_BUILD) $(LDFLAGS_BUILD) $< -o $@
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
92
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
93 depend:
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
94
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
95 clean:
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
96 $(E) '$(STAGE) Cleaning up language files'
17401
db81c548202f (svn r22147) -Fix: remove all generated .o files in objs/lang upon clean
rubidium <rubidium@openttd.org>
parents: 17358
diff changeset
97 $(Q)rm -f strgen.o string.o alloc_func.o getoptdata.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS)
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
98
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
99 mrproper: clean
14459
8d0e19518a53 (svn r19018) -Change: [Makefile] Make test an alias for regression, distclean an alias for mrproper and update mrproper to really delete all generated files/directories.
rubidium <rubidium@openttd.org>
parents: 13575
diff changeset
100 $(Q)rm -rf $(BIN_DIR)/lang
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
101
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
102 %.lng:
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
103 @echo '$(STAGE) No such language: $(@:%.lng=%)'
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
104
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
105 .PHONY: all mrproper depend clean