Mercurial > hg > openttd
annotate Makefile.src.in @ 9765:b426b3cb4e71 draft
(svn r13901) -Fix: make sure REV_NR isn't empty, rev.cpp would fail to compile
author | smatz <smatz@openttd.org> |
---|---|
date | Thu, 31 Jul 2008 19:19:29 +0000 |
parents | 267a95510fdf |
children | a8c9ec841194 |
rev | line source |
---|---|
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
1 # Auto-generated file -- DO NOT EDIT |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
2 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
3 CC_HOST = !!CC_HOST!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
4 CXX_HOST = !!CXX_HOST!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
5 CC_BUILD = !!CC_BUILD!! |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5535
diff
changeset
|
6 CXX_BUILD = !!CXX_BUILD!! |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
7 WINDRES = !!WINDRES!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
8 STRIP = !!STRIP!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
9 CC_CFLAGS = !!CC_CFLAGS!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
10 CFLAGS = !!CFLAGS!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
11 CFLAGS_BUILD = !!CFLAGS_BUILD!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
12 LIBS = !!LIBS!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
13 LDFLAGS = !!LDFLAGS!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
14 BIN_DIR = !!BIN_DIR!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
15 LANG_DIR = !!LANG_DIR!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
16 SRC_OBJS_DIR = !!SRC_OBJS_DIR!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
17 LANG_OBJS_DIR= !!LANG_OBJS_DIR!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
18 SRC_DIR = !!SRC_DIR!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
19 MEDIA_DIR = !!MEDIA_DIR!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
20 TTD = !!TTD!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
21 STRGEN = !!STRGEN!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
22 ENDIAN_CHECK = !!ENDIAN_CHECK!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
23 ENDIAN_FORCE = !!ENDIAN_FORCE!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
24 OS = !!OS!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
25 STAGE = !!STAGE!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
26 MAKEDEPEND = !!MAKEDEPEND!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
27 CFLAGS_MAKEDEP= !!CFLAGS_MAKEDEP!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
28 SORT = !!SORT!! |
5535
587cee1d0031
(svn r7866) -Fix (r7759): ./configure --revision=[revision] did not work as intended.
rubidium <rubidium@openttd.org>
parents:
5496
diff
changeset
|
29 REVISION = !!REVISION!! |
6081
31245c7b2e37
(svn r8814) [Config] -Add: added --awk and detect_awk. We now try to find an awk on the user system which allows gsub(). If not found, you can define one yourself, or it tells you versions you might want to install
truelight <truelight@openttd.org>
parents:
5979
diff
changeset
|
30 AWK = !!AWK!! |
6523
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
31 GCC295 = !!GCC295!! |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
32 CONFIG_CACHE_COMPILER = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_COMPILER!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
33 CONFIG_CACHE_LINKER = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_LINKER!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
34 CONFIG_CACHE_ENDIAN = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_ENDIAN!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
35 CONFIG_CACHE_SOURCE = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_SOURCE!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
36 CONFIG_CACHE_VERSION = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_VERSION!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
37 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
38 OBJS_C := !!OBJS_C!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
39 OBJS_CPP := !!OBJS_CPP!! |
5941
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
40 OBJS_MM := !!OBJS_MM!! |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
41 OBJS_RC := !!OBJS_RC!! |
5941
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
42 OBJS := $(OBJS_C) $(OBJS_CPP) $(OBJS_MM) $(OBJS_RC) |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
43 SRCS := !!SRCS!! |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
44 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
45 # All C-files depend on those 3 files |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
46 FILE_DEP := $(CONFIG_CACHE_COMPILER) $(LANG_OBJS_DIR)/table/strings.h endian_target.h |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
47 # Create all dirs and subdirs |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
48 RES := $(shell mkdir -p $(BIN_DIR) $(sort $(dir $(OBJS)))) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
49 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
50 # Make sure endian_target.h is reasable as if it was in the src/ dir |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
51 CFLAGS += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
52 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
53 ENDIAN_TARGETS := endian_target.h $(ENDIAN_CHECK) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
54 |
6523
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
55 # This 'sed' basicly just removes 'const' from the line if it is a 2+D array |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
56 # For more information, please check: |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
57 # http://maillist.openttd.org/pipermail/devs/2007-April/000284.html |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
58 # http://maillist.openttd.org/pipermail/devs/2007-February/000248.html |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
59 GCC295_FIX=sed -r 's/^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;))(.*)$$/\1\2 \4\6\8\9/g' |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
60 # This 'sed' removes the 3rd '4' in the # lines of the -E output of |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
61 # gcc 2.95.3 and lower, as it should indicate that it is a C-linkage, but the |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
62 # compiler can't handle that information (just don't ask). So we remove it |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
63 # and then it compiles happily and without bitching :) |
7256
7843e26f5f1d
(svn r10563) -Fix: gcc 2.95 (which is still needed for MorphOS :() does have trouble with using the protected/private variables of the enclosing class (and super classes of that enclosing class).
rubidium <rubidium@openttd.org>
parents:
6918
diff
changeset
|
64 # Furthermore gcc 2.95 has some trouble with protected and private when |
7843e26f5f1d
(svn r10563) -Fix: gcc 2.95 (which is still needed for MorphOS :() does have trouble with using the protected/private variables of the enclosing class (and super classes of that enclosing class).
rubidium <rubidium@openttd.org>
parents:
6918
diff
changeset
|
65 # accessing the protected/private stuff of the enclosing class (or the |
7843e26f5f1d
(svn r10563) -Fix: gcc 2.95 (which is still needed for MorphOS :() does have trouble with using the protected/private variables of the enclosing class (and super classes of that enclosing class).
rubidium <rubidium@openttd.org>
parents:
6918
diff
changeset
|
66 # super class of the enclosing class). |
7843e26f5f1d
(svn r10563) -Fix: gcc 2.95 (which is still needed for MorphOS :() does have trouble with using the protected/private variables of the enclosing class (and super classes of that enclosing class).
rubidium <rubidium@openttd.org>
parents:
6918
diff
changeset
|
67 GCC295_FIX_2=sed -e 's|\(^\# [0-9][0-9]* "[^"]*"[ 0-9]*\) 4$$|\1|g;s|private:|public:|g;s|protected:|public:|g' |
6523
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
68 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
69 # 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
|
70 ifdef VERBOSE |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
71 Q = |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
72 E = @true |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
73 else |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
74 Q = @ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
75 E = @echo |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
76 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
77 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
78 # Our default target |
5610
5762b3a3883d
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium <rubidium@openttd.org>
parents:
5587
diff
changeset
|
79 all: $(BIN_DIR)/$(TTD) |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
80 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
81 # This are 2 rules that are pointing back to STRGEN stuff. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
82 # There is not really a need to have them here, but in case |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
83 # some weirdo wants to run 'make' in the 'src' dir and expects |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
84 # the languages to be recompiled, this catches that case and |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
85 # takes care of it nicely. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
86 $(LANG_OBJS_DIR)/$(STRGEN): |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
87 $(MAKE) -C $(LANG_OBJS_DIR) $(STRGEN) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
88 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
89 $(LANG_OBJS_DIR)/table/strings.h: $(LANG_DIR)/english.txt $(LANG_OBJS_DIR)/$(STRGEN) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
90 $(MAKE) -C $(LANG_OBJS_DIR) table/strings.h |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
91 |
9457
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
92 |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
93 # Determine if we are using a modified version |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
94 ifeq ($(shell if test -d $(SRC_DIR)/.svn; then echo 1; fi), 1) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
95 REV_MODIFIED := $(shell svnversion $(SRC_DIR) | sed -n 's/.*\(M\).*/\1/p' ) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
96 else |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
97 # Are we a git dir? |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
98 ifeq ($(shell if test -d $(SRC_DIR)/../.git; then echo 1; fi), 1) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
99 REV_MODIFIED := $(shell if cd "$(SRC_DIR)/.." && git diff-index HEAD src | read dummy; then echo M; fi) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
100 else |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
101 # Are we a hg (Mercurial) dir? |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
102 ifeq ($(shell if test -d $(SRC_DIR)/../.hg; then echo 1; fi), 1) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
103 REV_MODIFIED := $(shell if hg status $(SRC_DIR) | grep -v '^?' | read dummy; then echo M; fi) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
104 else |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
105 MODIFIED="1" |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
106 endif |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
107 endif |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
108 endif |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
109 |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
110 ifneq ($(MODIFIED),"1") |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
111 ifeq ($(REV_MODIFIED),) |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
112 MODIFIED="0" |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
113 else |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
114 MODIFIED="2" |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
115 endif |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
116 endif |
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
117 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
118 # Make the revision number |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
119 ifdef REVISION |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
120 REV := $(REVISION) |
7786
7c4a4fca3a39
(svn r11336) -Fix r11330: '#' means comment in gmake, so don't use it in seds
truelight <truelight@openttd.org>
parents:
7785
diff
changeset
|
121 REV_NR := $(shell echo $(REVISION) | sed "s/[^0-9]//g") |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
122 else |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
123 # Are we a SVN dir? |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
124 ifeq ($(shell if test -d $(SRC_DIR)/.svn; then echo 1; fi), 1) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
125 # Find if the local source if modified |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
126 # Find the revision like: rXXXX-branch |
6081
31245c7b2e37
(svn r8814) [Config] -Add: added --awk and detect_awk. We now try to find an awk on the user system which allows gsub(). If not found, you can define one yourself, or it tells you versions you might want to install
truelight <truelight@openttd.org>
parents:
5979
diff
changeset
|
127 REV := $(shell LC_ALL=C svn info $(SRC_DIR) | $(AWK) '/^URL:.*branch/ { split($$2, a, "/"); BRANCH="-"a[5] } /^Last Changed Rev:/ { REV="r"$$4"$(REV_MODIFIED)" } END { print REV BRANCH }') |
7780
4301f74086b2
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium <rubidium@openttd.org>
parents:
7618
diff
changeset
|
128 REV_NR := $(shell LC_ALL=C svn info $(SRC_DIR) | $(AWK) '/^Last Changed Rev:/ { print $$4 }') |
6812
32e4fae77a35
(svn r10051) -Add: git "version" detection so we've got at least some indication what version we're playing when using git ;)
rubidium <rubidium@openttd.org>
parents:
6523
diff
changeset
|
129 else |
32e4fae77a35
(svn r10051) -Add: git "version" detection so we've got at least some indication what version we're playing when using git ;)
rubidium <rubidium@openttd.org>
parents:
6523
diff
changeset
|
130 # Are we a git dir? |
32e4fae77a35
(svn r10051) -Add: git "version" detection so we've got at least some indication what version we're playing when using git ;)
rubidium <rubidium@openttd.org>
parents:
6523
diff
changeset
|
131 ifeq ($(shell if test -d $(SRC_DIR)/../.git; then echo 1; fi), 1) |
7618
73db71c7da86
(svn r11148) -Codechange: add support for getting version numbers from Mercurial/HG instead of norev000 (when using a Mercurial/HG clone that is).
rubidium <rubidium@openttd.org>
parents:
7564
diff
changeset
|
132 # Find the revision like: gXXXXM-branch |
9457
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
133 REV := g$(shell if head=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null`; then echo "$$head" | cut -c1-8; fi)$(REV_MODIFIED)$(shell git branch|grep '[*]' | sed 's/\* /-/;s/^-master$$//') |
7915
ced6a3f5ba62
(svn r11468) -Fix (r11330): rev number detection didn't work for git with msys/mingw
glx <glx@openttd.org>
parents:
7786
diff
changeset
|
134 REV_NR := $(shell LC_ALL=C cd "$(SRC_DIR)/.." && git log --pretty=format:%s src | grep -m 1 "^(svn r[0-9]*)" | sed "s/.*(svn r\([0-9]*\)).*/\1/" ) |
7618
73db71c7da86
(svn r11148) -Codechange: add support for getting version numbers from Mercurial/HG instead of norev000 (when using a Mercurial/HG clone that is).
rubidium <rubidium@openttd.org>
parents:
7564
diff
changeset
|
135 else |
73db71c7da86
(svn r11148) -Codechange: add support for getting version numbers from Mercurial/HG instead of norev000 (when using a Mercurial/HG clone that is).
rubidium <rubidium@openttd.org>
parents:
7564
diff
changeset
|
136 # Are we a hg (Mercurial) dir? |
73db71c7da86
(svn r11148) -Codechange: add support for getting version numbers from Mercurial/HG instead of norev000 (when using a Mercurial/HG clone that is).
rubidium <rubidium@openttd.org>
parents:
7564
diff
changeset
|
137 ifeq ($(shell if test -d $(SRC_DIR)/../.hg; then echo 1; fi), 1) |
73db71c7da86
(svn r11148) -Codechange: add support for getting version numbers from Mercurial/HG instead of norev000 (when using a Mercurial/HG clone that is).
rubidium <rubidium@openttd.org>
parents:
7564
diff
changeset
|
138 # Find the revision like: hXXXXM-branch |
9457
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
139 REV := h$(shell if head=`LC_ALL=C hg tip 2>/dev/null`; then echo "$$head" | head -n 1 | cut -c19-26; fi)$(REV_MODIFIED)$(shell hg branch | sed 's/^/-/;s/^-default$$//') |
7915
ced6a3f5ba62
(svn r11468) -Fix (r11330): rev number detection didn't work for git with msys/mingw
glx <glx@openttd.org>
parents:
7786
diff
changeset
|
140 REV_NR := $(shell LC_ALL=C hg log -k "svn" -l 1 --template "{desc}\n" $(SRC_DIR) | grep -m 1 "^(svn r[0-9]*)" | sed "s/.*(svn r\([0-9]*\)).*/\1/" ) |
7618
73db71c7da86
(svn r11148) -Codechange: add support for getting version numbers from Mercurial/HG instead of norev000 (when using a Mercurial/HG clone that is).
rubidium <rubidium@openttd.org>
parents:
7564
diff
changeset
|
141 endif |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
142 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
143 endif |
6812
32e4fae77a35
(svn r10051) -Add: git "version" detection so we've got at least some indication what version we're playing when using git ;)
rubidium <rubidium@openttd.org>
parents:
6523
diff
changeset
|
144 endif |
32e4fae77a35
(svn r10051) -Add: git "version" detection so we've got at least some indication what version we're playing when using git ;)
rubidium <rubidium@openttd.org>
parents:
6523
diff
changeset
|
145 |
9765
b426b3cb4e71
(svn r13901) -Fix: make sure REV_NR isn't empty, rev.cpp would fail to compile
smatz <smatz@openttd.org>
parents:
9457
diff
changeset
|
146 # Make sure we have something in REV and REV_NR |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
147 ifeq ($(REV),) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
148 REV := norev000 |
9765
b426b3cb4e71
(svn r13901) -Fix: make sure REV_NR isn't empty, rev.cpp would fail to compile
smatz <smatz@openttd.org>
parents:
9457
diff
changeset
|
149 endif |
b426b3cb4e71
(svn r13901) -Fix: make sure REV_NR isn't empty, rev.cpp would fail to compile
smatz <smatz@openttd.org>
parents:
9457
diff
changeset
|
150 ifeq ($(REV_NR),) |
7780
4301f74086b2
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium <rubidium@openttd.org>
parents:
7618
diff
changeset
|
151 REV_NR := 0 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
152 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
153 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
154 # This helps to recompile if flags change |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
155 RES := $(shell if [ "`cat $(CONFIG_CACHE_COMPILER) 2>/dev/null`" != "$(CC_CFLAGS) $(CFLAGS)" ]; then echo "$(CC_CFLAGS) $(CFLAGS)" > $(CONFIG_CACHE_COMPILER); fi ) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
156 RES := $(shell if [ "`cat $(CONFIG_CACHE_LINKER) 2>/dev/null`" != "$(LDFLAGS) $(LIBS)" ]; then echo "$(LDFLAGS) $(LIBS)" > $(CONFIG_CACHE_LINKER); fi ) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
157 RES := $(shell if [ "`cat $(CONFIG_CACHE_ENDIAN) 2>/dev/null`" != "$(ENDIAN_FORCE)" ]; then echo "$(ENDIAN_FORCE)" > $(CONFIG_CACHE_ENDIAN); fi ) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
158 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
159 # If there is a change in the source-file-list, make sure we recheck the deps |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
160 RES := $(shell if [ "`cat $(CONFIG_CACHE_SOURCE) 2>/dev/null`" != "$(SRCS)" ]; then echo "$(SRCS)" > $(CONFIG_CACHE_SOURCE); fi ) |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5535
diff
changeset
|
161 # If there is a change in the revision, make sure we recompile rev.cpp |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
162 RES := $(shell if [ "`cat $(CONFIG_CACHE_VERSION) 2>/dev/null`" != "$(REV)" ]; then echo "$(REV)" > $(CONFIG_CACHE_VERSION); fi ) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
163 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
164 ifndef MAKEDEPEND |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
165 # The slow, but always correct, dep-check |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
166 DEP_MASK := %.d |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
167 DEPS := $(OBJS:%.o=%.d) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
168 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
169 # Only include the deps if we are compiling everything |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
170 ifeq ($(filter $(ENDIAN_TARGETS) %.o clean mrproper, $(MAKECMDGOALS)),) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
171 -include $(DEPS) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
172 else |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
173 # In case we want to compile a single target, include the .d file for it |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
174 ifneq ($(filter %.o, $(MAKECMDGOALS)),) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
175 SINGLE_DEP := $(filter %.o, $(MAKECMDGOALS)) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
176 -include $(SINGLE_DEP:%.o=%.d) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
177 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
178 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
179 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
180 # Find the deps via GCC. Rarely wrong, but a bit slow |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
181 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
182 $(OBJS_C:%.o=%.d): %.d: $(SRC_DIR)/%.c $(FILE_DEP) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
183 $(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.c=%.c)' |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
184 $(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
185 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
186 $(OBJS_CPP:%.o=%.d): %.d: $(SRC_DIR)/%.cpp $(FILE_DEP) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
187 $(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
188 $(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
189 |
5941
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
190 $(OBJS_MM:%.o=%.d): %.d: $(SRC_DIR)/%.mm $(FILE_DEP) |
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
191 $(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)' |
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
192 $(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
193 |
5478
87717a3b51fc
(svn r7762) [Configure] -Fix: .rc files were not ignored in old DEP system
truelight <truelight@openttd.org>
parents:
5475
diff
changeset
|
194 $(OBJS_RC:%.o=%.d): %.d: $(SRC_DIR)/%.rc $(FILE_DEP) |
5941
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
195 $(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)' |
5478
87717a3b51fc
(svn r7762) [Configure] -Fix: .rc files were not ignored in old DEP system
truelight <truelight@openttd.org>
parents:
5475
diff
changeset
|
196 $(Q)touch $@ |
87717a3b51fc
(svn r7762) [Configure] -Fix: .rc files were not ignored in old DEP system
truelight <truelight@openttd.org>
parents:
5475
diff
changeset
|
197 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
198 else |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
199 # The much faster, but can be wrong, dep-check |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
200 DEP_MASK := |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
201 DEPS := Makefile.dep |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
202 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
203 # Only include the deps if we are not cleaning |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
204 ifeq ($(filter $(ENDIAN_TARGETS) depend clean mrproper, $(MAKECMDGOALS)),) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
205 -include Makefile.dep |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
206 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
207 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
208 # Make sure that only 'make depend' ALWAYS triggers a recheck |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
209 ifeq ($(filter depend, $(MAKECMDGOALS)),) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
210 Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(CONFIG_CACHE_SOURCE) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
211 else |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
212 Makefile.dep: FORCE |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
213 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
214 $(E) '$(STAGE) DEP CHECK (all files)' |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
215 $(Q)rm -f Makefile.dep.tmp |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
216 $(Q)touch Makefile.dep.tmp |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
217 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
218 # Calculate the deps via makedepend |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
219 $(Q)$(MAKEDEPEND) -f$(SRC_OBJS_DIR)/Makefile.dep.tmp -o.o -Y -v -- $(CFLAGS_MAKEDEP) -- $(SRCS:%=$(SRC_DIR)/%) 2>/dev/null |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
220 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
221 # Convert x:/... paths to /x/... for mingw |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
222 ifeq ($(OS), MINGW) |
6104
a4daf7c49a8f
(svn r8839) -Fix: escape slashes in sed for mingw Makefile.dep stuff. It worked with sed 3.02 (provided by msys) but sed 4.1.4 (from gnuwin32.sf.net) failed.
glx <glx@openttd.org>
parents:
6084
diff
changeset
|
223 @cat Makefile.dep.tmp | sed 's@\([a-zA-Z]\):\/@\/\1\/@g' > Makefile.dep.tmp.mingw |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
224 @cp Makefile.dep.tmp.mingw Makefile.dep.tmp |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
225 @rm -f Makefile.dep.tmp.mingw |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
226 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
227 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
228 # Remove all comments and includes that don't start with $(SRC_DIR) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
229 # Remove $(SRC_DIR) from object-file-name |
6081
31245c7b2e37
(svn r8814) [Config] -Add: added --awk and detect_awk. We now try to find an awk on the user system which allows gsub(). If not found, you can define one yourself, or it tells you versions you might want to install
truelight <truelight@openttd.org>
parents:
5979
diff
changeset
|
230 @$(AWK) ' \ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
231 /^# DO NOT/ { print $$0 ; next} \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
232 /^#/ {next} \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
233 /:/ { \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
234 left = NF - 1; \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
235 for (n = 2; n <= NF; n++) { \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
236 if (match($$n, "^$(SRC_DIR)") == 0) { \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
237 $$n = ""; \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
238 left--; \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
239 } \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
240 } \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
241 gsub("$(SRC_DIR)/", "", $$1); \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
242 if (left > 0) { \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
243 print $$0; \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
244 $$1 = "Makefile.dep:"; \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
245 print $$0; \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
246 } \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
247 next \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
248 } \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
249 { \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
250 print $$0 \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
251 } \ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
252 ' < Makefile.dep.tmp | sed 's/ */ /g;s/ $$//' | $(SORT) > Makefile.dep |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
253 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
254 $(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
255 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
256 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
257 |
5650
fcb1e4785a04
(svn r8109) -Fix r5693: ignore .hpp to avoid problems with deps
glx <glx@openttd.org>
parents:
5610
diff
changeset
|
258 # Avoid problems with deps if a .h/.hpp file is deleted without the deps |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
259 # being updated. Now the Makefile continues, the deps are recreated |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
260 # and all will be fine. |
5650
fcb1e4785a04
(svn r8109) -Fix r5693: ignore .hpp to avoid problems with deps
glx <glx@openttd.org>
parents:
5610
diff
changeset
|
261 %.h %.hpp: |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
262 @true |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
263 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
264 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
265 # Compile all the files according to the targets |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
266 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
267 $(OBJS_C): %.o: $(SRC_DIR)/%.c $(DEP_MASK) $(FILE_DEP) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
268 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)' |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
269 $(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -c -o $@ $< |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
270 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
271 $(OBJS_CPP): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
272 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
6523
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
273 ifeq ($(GCC295), 1) |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
274 $(Q)$(CXX_HOST) -E $(CFLAGS) $< | $(GCC295_FIX) | $(GCC295_FIX_2) | $(CXX_HOST) $(CFLAGS) -c -o $@ -x c++ - |
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
275 else |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
276 $(Q)$(CXX_HOST) $(CFLAGS) -c -o $@ $< |
6523
73261dfd20de
(svn r9710) -Add: added support for GCC 2.95. This makes MorphOS target alive again. With a big thanks to tokai and Rubidium!!
truelight <truelight@openttd.org>
parents:
6104
diff
changeset
|
277 endif |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
278 |
5941
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
279 $(OBJS_MM): %.o: $(SRC_DIR)/%.mm $(DEP_MASK) $(FILE_DEP) |
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
280 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.mm=%.mm)' |
d0e1f93e603a
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni <bjarni@openttd.org>
parents:
5650
diff
changeset
|
281 $(Q)$(CC_HOST) $(CFLAGS) -c -o $@ $< |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
282 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
283 $(OBJS_RC): %.o: $(SRC_DIR)/%.rc $(FILE_DEP) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
284 $(E) '$(STAGE) Compiling resource $(<:$(SRC_DIR)/%.rc=%.rc)' |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
285 $(Q)$(WINDRES) -o $@ -I $(MEDIA_DIR) $< |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
286 |
5610
5762b3a3883d
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium <rubidium@openttd.org>
parents:
5587
diff
changeset
|
287 $(BIN_DIR)/$(TTD): $(TTD) |
5762b3a3883d
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium <rubidium@openttd.org>
parents:
5587
diff
changeset
|
288 $(Q)cp $< $@ |
5762b3a3883d
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium <rubidium@openttd.org>
parents:
5587
diff
changeset
|
289 |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
290 $(TTD): $(OBJS) $(CONFIG_CACHE_LINKER) |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
291 $(E) '$(STAGE) Linking $@' |
5979
ca289345e1d3
(svn r8678) [PSP] -Add: added LIBS and CFLAGS needed to compile PSP
truelight <truelight@openttd.org>
parents:
5970
diff
changeset
|
292 ifeq ($(OS), PSP) |
6084
6e2526ba7cb5
(svn r8819) [Config] -Documentation: added why we need CC_HOST for linking on PSP
truelight <truelight@openttd.org>
parents:
6081
diff
changeset
|
293 # Because of a bug in the PSP GCC tools, linking via CXX results |
6e2526ba7cb5
(svn r8819) [Config] -Documentation: added why we need CC_HOST for linking on PSP
truelight <truelight@openttd.org>
parents:
6081
diff
changeset
|
294 # in total chaos and more problems then you can handle. So we need |
6e2526ba7cb5
(svn r8819) [Config] -Documentation: added why we need CC_HOST for linking on PSP
truelight <truelight@openttd.org>
parents:
6081
diff
changeset
|
295 # CC to link OpenTTD for PSP |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
296 $(Q)$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ |
5979
ca289345e1d3
(svn r8678) [PSP] -Add: added LIBS and CFLAGS needed to compile PSP
truelight <truelight@openttd.org>
parents:
5970
diff
changeset
|
297 else |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
298 $(Q)$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ |
5979
ca289345e1d3
(svn r8678) [PSP] -Add: added LIBS and CFLAGS needed to compile PSP
truelight <truelight@openttd.org>
parents:
5970
diff
changeset
|
299 endif |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
300 ifdef STRIP |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
301 $(Q)$(STRIP) $@ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
302 endif |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
303 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
304 # The targets to compile the endian-code |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
305 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
306 endian_target.h: $(ENDIAN_CHECK) $(CONFIG_CACHE_ENDIAN) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
307 $(E) '$(STAGE) Testing endianness for target' |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
308 $(Q)./$(ENDIAN_CHECK) $(ENDIAN_FORCE) > $@ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
309 |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5535
diff
changeset
|
310 $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
311 $(E) '$(STAGE) Compiling and Linking $@' |
5587
c44c070c5032
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium <rubidium@openttd.org>
parents:
5535
diff
changeset
|
312 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
313 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
314 # Revision files |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
315 |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
316 $(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in |
9457
267a95510fdf
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz <smatz@openttd.org>
parents:
7916
diff
changeset
|
317 $(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s#@@REVISION@@#$(REV_NR)#g;s#@@VERSION@@#$(REV)#g;s#@@MODIFIED@@#$(MODIFIED)#g;s#@@DATE@@#`date +%d.%m.%y`#g" > $(SRC_DIR)/rev.cpp |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
318 |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
319 $(SRC_DIR)/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/ottdres.rc.in |
7780
4301f74086b2
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium <rubidium@openttd.org>
parents:
7618
diff
changeset
|
320 $(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s#@@REVISION@@#$(REV_NR)#g;s#@@VERSION@@#$(REV)#g;s#@@DATE@@#`date +%d.%m.%y`#g" > $(SRC_DIR)/ottdres.rc |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
321 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
322 FORCE: |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
323 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
324 depend: $(DEPS) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
325 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
326 clean: |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
327 $(E) '$(STAGE) Cleaning up object files' |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
328 $(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS) |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
329 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
330 mrproper: clean |
7564
0f45d5223c87
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium <rubidium@openttd.org>
parents:
7256
diff
changeset
|
331 $(Q)rm -f $(SRC_DIR)/rev.cpp $(SRC_DIR)/ottdres.rc |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
332 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
333 %.o: |
5970
d207cbc6e41a
(svn r8658) -Fix r8605: missed an error message renaming from m to mm (objC to objC++)
bjarni <bjarni@openttd.org>
parents:
5941
diff
changeset
|
334 @echo '$(STAGE) No such source-file: $(@:%.o=%).[c|cpp|mm|rc]' |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
335 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
336 .PHONY: all mrproper depend clean FORCE |