author | richk |
Tue, 17 Jun 2008 13:41:57 +0000 | |
branch | NewGRF_ports |
changeset 10995 | 311b38c7f9a7 |
parent 10991 | d8811e327d12 |
permissions | -rw-r--r-- |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
1 |
# Auto-generated file -- DO NOT EDIT |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
2 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
3 |
CC_HOST = !!CC_HOST!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
4 |
CXX_HOST = !!CXX_HOST!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
5 |
CC_BUILD = !!CC_BUILD!! |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5786
diff
changeset
|
6 |
CXX_BUILD = !!CXX_BUILD!! |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
7 |
WINDRES = !!WINDRES!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
8 |
STRIP = !!STRIP!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
9 |
CC_CFLAGS = !!CC_CFLAGS!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
10 |
CFLAGS = !!CFLAGS!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
11 |
CFLAGS_BUILD = !!CFLAGS_BUILD!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
12 |
LIBS = !!LIBS!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
13 |
LDFLAGS = !!LDFLAGS!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
14 |
BIN_DIR = !!BIN_DIR!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
15 |
LANG_DIR = !!LANG_DIR!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
16 |
SRC_OBJS_DIR = !!SRC_OBJS_DIR!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
17 |
LANG_OBJS_DIR= !!LANG_OBJS_DIR!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
18 |
SRC_DIR = !!SRC_DIR!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
19 |
MEDIA_DIR = !!MEDIA_DIR!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
20 |
TTD = !!TTD!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
21 |
STRGEN = !!STRGEN!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
22 |
ENDIAN_CHECK = !!ENDIAN_CHECK!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
23 |
ENDIAN_FORCE = !!ENDIAN_FORCE!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
24 |
OS = !!OS!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
25 |
STAGE = !!STAGE!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
26 |
MAKEDEPEND = !!MAKEDEPEND!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
27 |
CFLAGS_MAKEDEP= !!CFLAGS_MAKEDEP!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
28 |
SORT = !!SORT!! |
5786
9ba0c445e6fb
(svn r7866) -Fix (r7759): ./configure --revision=[revision] did not work as intended.
rubidium
parents:
5747
diff
changeset
|
29 |
REVISION = !!REVISION!! |
6407
483c1328a349
(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
parents:
6230
diff
changeset
|
30 |
AWK = !!AWK!! |
6719
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
31 |
GCC295 = !!GCC295!! |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
32 |
CONFIG_CACHE_COMPILER = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_COMPILER!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
33 |
CONFIG_CACHE_LINKER = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_LINKER!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
34 |
CONFIG_CACHE_ENDIAN = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_ENDIAN!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
35 |
CONFIG_CACHE_SOURCE = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_SOURCE!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
36 |
CONFIG_CACHE_VERSION = $(SRC_OBJS_DIR)/!!CONFIG_CACHE_VERSION!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
37 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
38 |
OBJS_C := !!OBJS_C!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
39 |
OBJS_CPP := !!OBJS_CPP!! |
6192
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
40 |
OBJS_MM := !!OBJS_MM!! |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
41 |
OBJS_RC := !!OBJS_RC!! |
6192
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
42 |
OBJS := $(OBJS_C) $(OBJS_CPP) $(OBJS_MM) $(OBJS_RC) |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
43 |
SRCS := !!SRCS!! |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
44 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
45 |
# All C-files depend on those 3 files |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
46 |
FILE_DEP := $(CONFIG_CACHE_COMPILER) $(LANG_OBJS_DIR)/table/strings.h endian_target.h |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
47 |
# Create all dirs and subdirs |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
48 |
RES := $(shell mkdir -p $(BIN_DIR) $(sort $(dir $(OBJS)))) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
49 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
50 |
# Make sure endian_target.h is reasable as if it was in the src/ dir |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
51 |
CFLAGS += -I $(SRC_OBJS_DIR) -I $(LANG_OBJS_DIR) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
52 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
53 |
ENDIAN_TARGETS := endian_target.h $(ENDIAN_CHECK) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
54 |
|
6719
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
55 |
# This 'sed' basicly just removes 'const' from the line if it is a 2+D array |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
56 |
# For more information, please check: |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
57 |
# http://maillist.openttd.org/pipermail/devs/2007-April/000284.html |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
58 |
# http://maillist.openttd.org/pipermail/devs/2007-February/000248.html |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
59 |
GCC295_FIX=sed -r 's/^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;))(.*)$$/\1\2 \4\6\8\9/g' |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
60 |
# This 'sed' removes the 3rd '4' in the # lines of the -E output of |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
61 |
# gcc 2.95.3 and lower, as it should indicate that it is a C-linkage, but the |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
62 |
# compiler can't handle that information (just don't ask). So we remove it |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
63 |
# and then it compiles happily and without bitching :) |
6725
23339968083f
(svn r10595) [NewGRF_ports] -Sync: with trunk r10559-10593
richk
parents:
6720
diff
changeset
|
64 |
# Furthermore gcc 2.95 has some trouble with protected and private when |
23339968083f
(svn r10595) [NewGRF_ports] -Sync: with trunk r10559-10593
richk
parents:
6720
diff
changeset
|
65 |
# accessing the protected/private stuff of the enclosing class (or the |
23339968083f
(svn r10595) [NewGRF_ports] -Sync: with trunk r10559-10593
richk
parents:
6720
diff
changeset
|
66 |
# super class of the enclosing class). |
23339968083f
(svn r10595) [NewGRF_ports] -Sync: with trunk r10559-10593
richk
parents:
6720
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' |
6719
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
68 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
69 |
# Check if we want to show what we are doing |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
70 |
ifdef VERBOSE |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
71 |
Q = |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
72 |
E = @true |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
73 |
else |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
74 |
Q = @ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
75 |
E = @echo |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
76 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
77 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
78 |
# Our default target |
5861
11c77d9df7fb
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium
parents:
5838
diff
changeset
|
79 |
all: $(BIN_DIR)/$(TTD) |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
80 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
81 |
# This are 2 rules that are pointing back to STRGEN stuff. |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
82 |
# There is not really a need to have them here, but in case |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
83 |
# some weirdo wants to run 'make' in the 'src' dir and expects |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
84 |
# the languages to be recompiled, this catches that case and |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
85 |
# takes care of it nicely. |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
86 |
$(LANG_OBJS_DIR)/$(STRGEN): |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
87 |
$(MAKE) -C $(LANG_OBJS_DIR) $(STRGEN) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
88 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
89 |
$(LANG_OBJS_DIR)/table/strings.h: $(LANG_DIR)/english.txt $(LANG_OBJS_DIR)/$(STRGEN) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
90 |
$(MAKE) -C $(LANG_OBJS_DIR) table/strings.h |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
91 |
|
10991
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
92 |
|
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
93 |
# Determine if we are using a modified version |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
94 |
ifeq ($(shell if test -d $(SRC_DIR)/.svn; then echo 1; fi), 1) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
95 |
REV_MODIFIED := $(shell svnversion $(SRC_DIR) | sed -n 's/.*\(M\).*/\1/p' ) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
96 |
else |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
97 |
# Are we a git dir? |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
98 |
ifeq ($(shell if test -d $(SRC_DIR)/../.git; then echo 1; fi), 1) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
99 |
REV_MODIFIED := $(shell if cd "$(SRC_DIR)/.." && git diff-index HEAD src | read dummy; then echo M; fi) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
100 |
else |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
101 |
# Are we a hg (Mercurial) dir? |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
102 |
ifeq ($(shell if test -d $(SRC_DIR)/../.hg; then echo 1; fi), 1) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
103 |
REV_MODIFIED := $(shell if hg status $(SRC_DIR) | grep -v '^?' | read dummy; then echo M; fi) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
104 |
else |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
105 |
MODIFIED="1" |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
106 |
endif |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
107 |
endif |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
108 |
endif |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
109 |
|
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
110 |
ifneq ($(MODIFIED),"1") |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
111 |
ifeq ($(REV_MODIFIED),) |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
112 |
MODIFIED="0" |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
113 |
else |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
114 |
MODIFIED="2" |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
115 |
endif |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
116 |
endif |
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
117 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
118 |
# Make the revision number |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
119 |
ifdef REVISION |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
120 |
REV := $(REVISION) |
6871
5a9dc001e1ad
(svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents:
6870
diff
changeset
|
121 |
REV_NR := $(shell echo $(REVISION) | sed "s/[^0-9]//g") |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
122 |
else |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
123 |
# Are we a SVN dir? |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
124 |
ifeq ($(shell if test -d $(SRC_DIR)/.svn; then echo 1; fi), 1) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
125 |
# Find if the local source if modified |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
126 |
# Find the revision like: rXXXX-branch |
6407
483c1328a349
(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
parents:
6230
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 }') |
6871
5a9dc001e1ad
(svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents:
6870
diff
changeset
|
128 |
REV_NR := $(shell LC_ALL=C svn info $(SRC_DIR) | $(AWK) '/^Last Changed Rev:/ { print $$4 }') |
6720
35756db7e577
(svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
6719
diff
changeset
|
129 |
else |
35756db7e577
(svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
6719
diff
changeset
|
130 |
# Are we a git dir? |
35756db7e577
(svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
6719
diff
changeset
|
131 |
ifeq ($(shell if test -d $(SRC_DIR)/../.git; then echo 1; fi), 1) |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
132 |
# Find the revision like: gXXXXM-branch |
10991
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
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$$//') |
6871
5a9dc001e1ad
(svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents:
6870
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/" ) |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
135 |
else |
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
136 |
# Are we a hg (Mercurial) dir? |
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
137 |
ifeq ($(shell if test -d $(SRC_DIR)/../.hg; then echo 1; fi), 1) |
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
138 |
# Find the revision like: hXXXXM-branch |
10991
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
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$$//') |
6871
5a9dc001e1ad
(svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents:
6870
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/" ) |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
141 |
endif |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
142 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
143 |
endif |
6720
35756db7e577
(svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
6719
diff
changeset
|
144 |
endif |
35756db7e577
(svn r10560) [NewGRF_ports] -Sync: with trunk r10027-10559
richk
parents:
6719
diff
changeset
|
145 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
146 |
# Make sure we have something in REV |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
147 |
ifeq ($(REV),) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
148 |
REV := norev000 |
6871
5a9dc001e1ad
(svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents:
6870
diff
changeset
|
149 |
REV_NR := 0 |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
150 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
151 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
152 |
# This helps to recompile if flags change |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
153 |
RES := $(shell if [ "`cat $(CONFIG_CACHE_COMPILER) 2>/dev/null`" != "$(CC_CFLAGS) $(CFLAGS)" ]; then echo "$(CC_CFLAGS) $(CFLAGS)" > $(CONFIG_CACHE_COMPILER); fi ) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
154 |
RES := $(shell if [ "`cat $(CONFIG_CACHE_LINKER) 2>/dev/null`" != "$(LDFLAGS) $(LIBS)" ]; then echo "$(LDFLAGS) $(LIBS)" > $(CONFIG_CACHE_LINKER); fi ) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
155 |
RES := $(shell if [ "`cat $(CONFIG_CACHE_ENDIAN) 2>/dev/null`" != "$(ENDIAN_FORCE)" ]; then echo "$(ENDIAN_FORCE)" > $(CONFIG_CACHE_ENDIAN); fi ) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
156 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
157 |
# If there is a change in the source-file-list, make sure we recheck the deps |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
158 |
RES := $(shell if [ "`cat $(CONFIG_CACHE_SOURCE) 2>/dev/null`" != "$(SRCS)" ]; then echo "$(SRCS)" > $(CONFIG_CACHE_SOURCE); fi ) |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5786
diff
changeset
|
159 |
# If there is a change in the revision, make sure we recompile rev.cpp |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
160 |
RES := $(shell if [ "`cat $(CONFIG_CACHE_VERSION) 2>/dev/null`" != "$(REV)" ]; then echo "$(REV)" > $(CONFIG_CACHE_VERSION); fi ) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
161 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
162 |
ifndef MAKEDEPEND |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
163 |
# The slow, but always correct, dep-check |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
164 |
DEP_MASK := %.d |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
165 |
DEPS := $(OBJS:%.o=%.d) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
166 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
167 |
# Only include the deps if we are compiling everything |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
168 |
ifeq ($(filter $(ENDIAN_TARGETS) %.o clean mrproper, $(MAKECMDGOALS)),) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
169 |
-include $(DEPS) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
170 |
else |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
171 |
# In case we want to compile a single target, include the .d file for it |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
172 |
ifneq ($(filter %.o, $(MAKECMDGOALS)),) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
173 |
SINGLE_DEP := $(filter %.o, $(MAKECMDGOALS)) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
174 |
-include $(SINGLE_DEP:%.o=%.d) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
175 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
176 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
177 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
178 |
# Find the deps via GCC. Rarely wrong, but a bit slow |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
179 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
180 |
$(OBJS_C:%.o=%.d): %.d: $(SRC_DIR)/%.c $(FILE_DEP) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
181 |
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.c=%.c)' |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
182 |
$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
183 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
184 |
$(OBJS_CPP:%.o=%.d): %.d: $(SRC_DIR)/%.cpp $(FILE_DEP) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
185 |
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
186 |
$(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
187 |
|
6192
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
188 |
$(OBJS_MM:%.o=%.d): %.d: $(SRC_DIR)/%.mm $(FILE_DEP) |
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
189 |
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)' |
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
190 |
$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@ |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
191 |
|
5729
2aea0a06ad5f
(svn r7762) [Configure] -Fix: .rc files were not ignored in old DEP system
truelight
parents:
5726
diff
changeset
|
192 |
$(OBJS_RC:%.o=%.d): %.d: $(SRC_DIR)/%.rc $(FILE_DEP) |
6192
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
193 |
$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)' |
5729
2aea0a06ad5f
(svn r7762) [Configure] -Fix: .rc files were not ignored in old DEP system
truelight
parents:
5726
diff
changeset
|
194 |
$(Q)touch $@ |
2aea0a06ad5f
(svn r7762) [Configure] -Fix: .rc files were not ignored in old DEP system
truelight
parents:
5726
diff
changeset
|
195 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
196 |
else |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
197 |
# The much faster, but can be wrong, dep-check |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
198 |
DEP_MASK := |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
199 |
DEPS := Makefile.dep |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
200 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
201 |
# Only include the deps if we are not cleaning |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
202 |
ifeq ($(filter $(ENDIAN_TARGETS) depend clean mrproper, $(MAKECMDGOALS)),) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
203 |
-include Makefile.dep |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
204 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
205 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
206 |
# Make sure that only 'make depend' ALWAYS triggers a recheck |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
207 |
ifeq ($(filter depend, $(MAKECMDGOALS)),) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
208 |
Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(CONFIG_CACHE_SOURCE) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
209 |
else |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
210 |
Makefile.dep: FORCE |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
211 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
212 |
$(E) '$(STAGE) DEP CHECK (all files)' |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
213 |
$(Q)rm -f Makefile.dep.tmp |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
214 |
$(Q)touch Makefile.dep.tmp |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
215 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
216 |
# Calculate the deps via makedepend |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
217 |
$(Q)$(MAKEDEPEND) -f$(SRC_OBJS_DIR)/Makefile.dep.tmp -o.o -Y -v -- $(CFLAGS_MAKEDEP) -- $(SRCS:%=$(SRC_DIR)/%) 2>/dev/null |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
218 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
219 |
# Convert x:/... paths to /x/... for mingw |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
220 |
ifeq ($(OS), MINGW) |
6430
8cea06b5d5e3
(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
parents:
6410
diff
changeset
|
221 |
@cat Makefile.dep.tmp | sed 's@\([a-zA-Z]\):\/@\/\1\/@g' > Makefile.dep.tmp.mingw |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
222 |
@cp Makefile.dep.tmp.mingw Makefile.dep.tmp |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
223 |
@rm -f Makefile.dep.tmp.mingw |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
224 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
225 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
226 |
# Remove all comments and includes that don't start with $(SRC_DIR) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
227 |
# Remove $(SRC_DIR) from object-file-name |
6407
483c1328a349
(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
parents:
6230
diff
changeset
|
228 |
@$(AWK) ' \ |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
229 |
/^# DO NOT/ { print $$0 ; next} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
230 |
/^#/ {next} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
231 |
/:/ { \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
232 |
left = NF - 1; \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
233 |
for (n = 2; n <= NF; n++) { \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
234 |
if (match($$n, "^$(SRC_DIR)") == 0) { \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
235 |
$$n = ""; \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
236 |
left--; \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
237 |
} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
238 |
} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
239 |
gsub("$(SRC_DIR)/", "", $$1); \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
240 |
if (left > 0) { \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
241 |
print $$0; \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
242 |
$$1 = "Makefile.dep:"; \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
243 |
print $$0; \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
244 |
} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
245 |
next \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
246 |
} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
247 |
{ \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
248 |
print $$0 \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
249 |
} \ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
250 |
' < Makefile.dep.tmp | sed 's/ */ /g;s/ $$//' | $(SORT) > Makefile.dep |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
251 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
252 |
$(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
253 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
254 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
255 |
|
5901
e2e5001f4390
(svn r8109) -Fix r5693: ignore .hpp to avoid problems with deps
glx
parents:
5861
diff
changeset
|
256 |
# Avoid problems with deps if a .h/.hpp file is deleted without the deps |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
257 |
# being updated. Now the Makefile continues, the deps are recreated |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
258 |
# and all will be fine. |
5901
e2e5001f4390
(svn r8109) -Fix r5693: ignore .hpp to avoid problems with deps
glx
parents:
5861
diff
changeset
|
259 |
%.h %.hpp: |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
260 |
@true |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
261 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
262 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
263 |
# Compile all the files according to the targets |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
264 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
265 |
$(OBJS_C): %.o: $(SRC_DIR)/%.c $(DEP_MASK) $(FILE_DEP) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
266 |
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)' |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
267 |
$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -c -o $@ $< |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
268 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
269 |
$(OBJS_CPP): %.o: $(SRC_DIR)/%.cpp $(DEP_MASK) $(FILE_DEP) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
270 |
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
6719
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
271 |
ifeq ($(GCC295), 1) |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
272 |
$(Q)$(CXX_HOST) -E $(CFLAGS) $< | $(GCC295_FIX) | $(GCC295_FIX_2) | $(CXX_HOST) $(CFLAGS) -c -o $@ -x c++ - |
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
273 |
else |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
274 |
$(Q)$(CXX_HOST) $(CFLAGS) -c -o $@ $< |
6719
4cc327ad39d5
(svn r10027) [NewGRF_ports] -Sync: with trunk r9506-10026
richk
parents:
6430
diff
changeset
|
275 |
endif |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
276 |
|
6192
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
277 |
$(OBJS_MM): %.o: $(SRC_DIR)/%.mm $(DEP_MASK) $(FILE_DEP) |
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
278 |
$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.mm=%.mm)' |
c6adfc929c6b
(svn r8605) -Codechange: [OSX] changed all objective C to objective C++
bjarni
parents:
5901
diff
changeset
|
279 |
$(Q)$(CC_HOST) $(CFLAGS) -c -o $@ $< |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
280 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
281 |
$(OBJS_RC): %.o: $(SRC_DIR)/%.rc $(FILE_DEP) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
282 |
$(E) '$(STAGE) Compiling resource $(<:$(SRC_DIR)/%.rc=%.rc)' |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
283 |
$(Q)$(WINDRES) -o $@ -I $(MEDIA_DIR) $< |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
284 |
|
5861
11c77d9df7fb
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium
parents:
5838
diff
changeset
|
285 |
$(BIN_DIR)/$(TTD): $(TTD) |
11c77d9df7fb
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium
parents:
5838
diff
changeset
|
286 |
$(Q)cp $< $@ |
11c77d9df7fb
(svn r8067) -Fix (r7759): if bin/$(TTD) was removed, it did not get placed back on make unless $(TTD) got relinked.
rubidium
parents:
5838
diff
changeset
|
287 |
|
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
288 |
$(TTD): $(OBJS) $(CONFIG_CACHE_LINKER) |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
289 |
$(E) '$(STAGE) Linking $@' |
6230
06c91ff0af27
(svn r8678) [PSP] -Add: added LIBS and CFLAGS needed to compile PSP
truelight
parents:
6221
diff
changeset
|
290 |
ifeq ($(OS), PSP) |
6410
ceff709a6c73
(svn r8819) [Config] -Documentation: added why we need CC_HOST for linking on PSP
truelight
parents:
6407
diff
changeset
|
291 |
# Because of a bug in the PSP GCC tools, linking via CXX results |
ceff709a6c73
(svn r8819) [Config] -Documentation: added why we need CC_HOST for linking on PSP
truelight
parents:
6407
diff
changeset
|
292 |
# in total chaos and more problems then you can handle. So we need |
ceff709a6c73
(svn r8819) [Config] -Documentation: added why we need CC_HOST for linking on PSP
truelight
parents:
6407
diff
changeset
|
293 |
# CC to link OpenTTD for PSP |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
294 |
$(Q)$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ |
6230
06c91ff0af27
(svn r8678) [PSP] -Add: added LIBS and CFLAGS needed to compile PSP
truelight
parents:
6221
diff
changeset
|
295 |
else |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
296 |
$(Q)$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ |
6230
06c91ff0af27
(svn r8678) [PSP] -Add: added LIBS and CFLAGS needed to compile PSP
truelight
parents:
6221
diff
changeset
|
297 |
endif |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
298 |
ifdef STRIP |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
299 |
$(Q)$(STRIP) $@ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
300 |
endif |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
301 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
302 |
# The targets to compile the endian-code |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
303 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
304 |
endian_target.h: $(ENDIAN_CHECK) $(CONFIG_CACHE_ENDIAN) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
305 |
$(E) '$(STAGE) Testing endianness for target' |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
306 |
$(Q)./$(ENDIAN_CHECK) $(ENDIAN_FORCE) > $@ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
307 |
|
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5786
diff
changeset
|
308 |
$(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
309 |
$(E) '$(STAGE) Compiling and Linking $@' |
5838
9c3129cb019b
(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b.
rubidium
parents:
5786
diff
changeset
|
310 |
$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@ |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
311 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
312 |
# Revision files |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
313 |
|
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
314 |
$(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in |
10991
d8811e327d12
(svn r13545) [NewGRF_ports] -Sync: with trunk r13281:13411.
richk
parents:
6871
diff
changeset
|
315 |
$(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 |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
316 |
|
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
317 |
$(SRC_DIR)/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/ottdres.rc.in |
6871
5a9dc001e1ad
(svn r11566) [NewGRF_ports] -Sync: with trunk r11218:r11565.
rubidium
parents:
6870
diff
changeset
|
318 |
$(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 |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
319 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
320 |
FORCE: |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
321 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
322 |
depend: $(DEPS) |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
323 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
324 |
clean: |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
325 |
$(E) '$(STAGE) Cleaning up object files' |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
326 |
$(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS) |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
327 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
328 |
mrproper: clean |
6870
ca3fd1fbe311
(svn r11219) [NewGRF_ports] -Sync: with trunk r11035:11218.
rubidium
parents:
6725
diff
changeset
|
329 |
$(Q)rm -f $(SRC_DIR)/rev.cpp $(SRC_DIR)/ottdres.rc |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
330 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
331 |
%.o: |
6221
8c3234f2fd57
(svn r8658) -Fix r8605: missed an error message renaming from m to mm (objC to objC++)
bjarni
parents:
6192
diff
changeset
|
332 |
@echo '$(STAGE) No such source-file: $(@:%.o=%).[c|cpp|mm|rc]' |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
333 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
334 |
.PHONY: all mrproper depend clean FORCE |