author | tron |
Tue, 07 Nov 2006 15:53:20 +0000 | |
changeset 5050 | 659c09a2b29e |
parent 4800 | 5afc1bfc7a85 |
child 5051 | c46e1140e229 |
permissions | -rw-r--r-- |
2185 | 1 |
# $Id$ |
2 |
||
0 | 3 |
############################################################################## |
4 |
# |
|
5 |
# Usage |
|
6 |
# |
|
7 |
||
8 |
# Synopsis: |
|
9 |
# |
|
10 |
# make WITH_ZLIB=1 UNIX=1 MANUAL_CONFIG=1 |
|
11 |
# |
|
12 |
# (See below for the list of possible options.) |
|
13 |
# |
|
14 |
# Alternately, you can run make without the MANUAL_CONFIG part. It then |
|
15 |
# generates Makefile.config, where you can customize all the options. |
|
16 |
# However beware that for all subsequent calls the option values from |
|
17 |
# Makefile.config take precedence to the commandline options. |
|
18 |
# |
|
19 |
# (That means that you probably want to either specify the options on command |
|
20 |
# line together with MANUAL_CONFIG=1 or you want to specify no commandline |
|
21 |
# options at all.) |
|
22 |
||
23 |
# Targets: |
|
24 |
# |
|
25 |
# Defaults to building binary |
|
26 |
# clean: remove intermediate build files |
|
27 |
# mrproper: remove intermediate files and makefile configuration |
|
28 |
# upgradeconf: add new options to old Makefile.config |
|
29 |
# osx: OS X application |
|
563
a6ef8e441cd6
(svn r972) Makefile: added make release (currently only works on mac)
bjarni
parents:
561
diff
changeset
|
30 |
# release: used by OSX to make a dmg file ready to release |
0 | 31 |
|
32 |
# Options: |
|
33 |
# |
|
34 |
# Summary of OS choice defines |
|
35 |
# WIN32: building on Windows |
|
36 |
# UNIX: building on *nix derivate (Linux, FreeBSD) |
|
37 |
# OSX: building on Mac OS X |
|
38 |
# MORPHOS: building on MorphOS |
|
421
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
39 |
# BEOS: building on BeOS |
446
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
40 |
# SUNOS: building on SunOS (Solaris) |
0 | 41 |
# |
42 |
# Summary of library choice defines |
|
43 |
# WITH_ZLIB: savegames using zlib |
|
44 |
# WITH_PNG: screenshots using PNG |
|
45 |
# WITH_SDL: SDL video driver support |
|
2736
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
46 |
# WITH_COCOA: Cocoa video driver support |
0 | 47 |
# |
48 |
# Summary of other defines: |
|
49 |
# DEBUG: build in debug mode |
|
50 |
# PROFILE: build in profile mode, disables -s and -fomit-frame-pointer |
|
51 |
# TRANSLATOR: build in translator mode (untranslated strings are prepended by |
|
52 |
# a <TODO> mark) |
|
53 |
# RELEASE: this will be the released version number. It replaces all places |
|
54 |
# where it normally would print the revision number |
|
222
b88456001397
(svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents:
221
diff
changeset
|
55 |
# MIDI: if set, it will use it as custom path to midi player. |
1584
7122e759d56c
(svn r2088) - Fix: [ 1155158 ] Make extmidi command a config option in addition to the compile-time MIDI switch. Patch by macbaine.
pasky
parents:
1542
diff
changeset
|
56 |
# If unset, it will use the hardcoded path in the c code |
7122e759d56c
(svn r2088) - Fix: [ 1155158 ] Make extmidi command a config option in addition to the compile-time MIDI switch. Patch by macbaine.
pasky
parents:
1542
diff
changeset
|
57 |
# This can still be overriden by the music.extmidi openttd.cfg option. |
2197 | 58 |
# WITH_DIRECTMUSIC: enable DirectMusic MIDI support |
804
3288a1c6d133
(svn r1274) Makefile: networking is not longer experimental
bjarni
parents:
798
diff
changeset
|
59 |
# WITH_NETWORK: enable networking |
3288a1c6d133
(svn r1274) Makefile: networking is not longer experimental
bjarni
parents:
798
diff
changeset
|
60 |
# DEDICATED: allows compilation on UNIX without SDL. Useful for dedicated servers |
0 | 61 |
# |
285 | 62 |
# Paths: |
63 |
# INSTALL: If not set, the game uses the directory of the binary to |
|
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
532
diff
changeset
|
64 |
# store everything (lang, data, gm, save and openttd.cfg), this is the `old' behaviour. |
285 | 65 |
# In this case, none of the following paths are used, you also should _not_ |
66 |
# use `make install', but copy the required stuff yourself (or just play out |
|
67 |
# of you source directory, which should work fine). |
|
68 |
# If you want to use `make install' to install the game globally, you should |
|
69 |
# define it _before_ you build the game. If you only define INSTALL when you |
|
70 |
# do `make install', the game won't be able to find it's files (so you should |
|
71 |
# also define all the following paths before building). |
|
72 |
# |
|
73 |
# So, the following paths should be defined if INSTALL is defined. |
|
74 |
# None of these paths have to end with / |
|
75 |
# PREFIX: Normally /usr/local |
|
76 |
# BINARY_DIR: The location of the binary, normally games. (Will be prefixed |
|
77 |
# with $PREFIX) |
|
1865
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
78 |
# DATA_DIR: The location of the data (lang, data, gm and scenario), normally |
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
79 |
# share/games/openttd. (Will be prefixed with $PREFIX) Note that scenarios |
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
80 |
# are only put here if USE_HOMEDIR is true, otherwise they are placed in |
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
81 |
# PERSONAL_DIR/scenario |
2901
c9a1a969b017
(svn r3456) - Feature: [Makefile] Icons can now be installed in a seperate directory.
matthijs
parents:
2835
diff
changeset
|
82 |
# ICON_DIR: The location of the openttd icon. (Will be prefixed with |
c9a1a969b017
(svn r3456) - Feature: [Makefile] Icons can now be installed in a seperate directory.
matthijs
parents:
2835
diff
changeset
|
83 |
# $PREFIX). |
285 | 84 |
# PERSONAL_DIR: The directory where openttd.cfg and the save folder will be |
85 |
# stored. You cannot use ~ here, define USE_HOMEDIR for that. |
|
86 |
# USE_HOMEDIR: If this variable is set, PERSONAL_DIR will be prefixed with |
|
87 |
# ~/ at runtime (the user's homedir) |
|
561
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
88 |
# SECOND_DATA_PATH Use this data dir if a file is not found in the data dir in the data path |
1251 | 89 |
# CUSTOM_LANG_PATH If this is set, it will use the path given to search for lng files |
561
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
90 |
# instead of the lang dir in the data path |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
91 |
# NOTE: both SECOND_DATA_PATH and CUSTOM_LANG_PATH uses paths relative to where OTTD is opened |
285 | 92 |
# |
93 |
# DEST_DIR: make install will use this directory instead of the filesystem |
|
94 |
# root to install its files. This should normally not be used by |
|
95 |
# ordinary users, currently it is only used for the debian |
|
96 |
# packaging. This value should only be set when calling `make |
|
97 |
# install' and is not saved in Makefile.config |
|
1476
c1e4ba7193db
(svn r1980) Check $DESTDIR if $DEST_DIR was not set.
pasky
parents:
1435
diff
changeset
|
98 |
# (Note that DESTDIR is checked if DEST_DIR is not set.) |
0 | 99 |
# |
100 |
# STATIC: link statically |
|
101 |
# CYGWIN: build in Cygwin environment |
|
102 |
# MINGW: build with MingW compiler, link with MingW libraries |
|
103 |
# |
|
1411
2ff543ac50a7
(svn r1915) Support for a VERBOSE flag which will make the full compiler invocations to be shown instead of ===> Brief summaries.
pasky
parents:
1324
diff
changeset
|
104 |
# VERBOSE: show full compiler invocations instead of brief progress messages |
2ff543ac50a7
(svn r1915) Support for a VERBOSE flag which will make the full compiler invocations to be shown instead of ===> Brief summaries.
pasky
parents:
1324
diff
changeset
|
105 |
# |
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
106 |
# Special for crosscompiling there are some commands available: |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
107 |
# |
3085
d56874235364
(svn r3674) -Feature: [OSX] Added support for tripple binaries (binaries optimised for G3, G5 and i686)
bjarni
parents:
3084
diff
changeset
|
108 |
# UNIVERSAL_BINARY: builds a universal binary for OSX. Make sure you got both PPC and x86 libs. Only works with GCC 4 or newer |
3212
39c32be8404c
(svn r3884) renamed TRIPPLE_BINARY to TRIPLE_BINARY
bjarni
parents:
3211
diff
changeset
|
109 |
# TRIPLE_BINARY: builds a universal binary with the addition of code optimised for G5 (which means a total of 3 binaries in one file) |
3354
245157a5eafe
(svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
bjarni
parents:
3341
diff
changeset
|
110 |
# OTTD_PPC, OTTD_PPC970, OTTD_i386: compile for target architecture. |
245157a5eafe
(svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
bjarni
parents:
3341
diff
changeset
|
111 |
# Multiple flags can be used so OTTD_PPC:=1 OTTD_i386:=1 produces the same result as UNIVERSAL_BINARY |
2834
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2800
diff
changeset
|
112 |
# |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2800
diff
changeset
|
113 |
# JAGUAR: Crosscompiling for OSX 1.2.8 (codenamed Jaguar). Only works if OSX is defined too. Only works with GCC 4 or newer |
edb722907b73
(svn r3382) -Feature: [OSX] added the flag JAGUAR to crosscompile for OSX 10.2.8 on 10.4
bjarni
parents:
2800
diff
changeset
|
114 |
# This can be changed to any PPC version of OSX by changing the ppc flags in Makefile.config |
2713
9c42385e4f41
(svn r3258) -Feature: [OSX] added support for universal binaries
bjarni
parents:
2712
diff
changeset
|
115 |
# |
2719
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
116 |
# ENDIAN_FORCE: forces the endian-check to give a certain result. Can be BE, LE or PREPROCESSOR. |
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
117 |
# PREPROCESSOR is always used on all OSX targets and will make the preprocessor pick the right endian. |
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
118 |
# this means that you don't have to think about endianess when compiling for OSX. |
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
119 |
# Very useful for universal binaries and crosscompilers. Not sure if it works on non OSX targets |
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
120 |
# WINDRES: the location of your windres |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
121 |
# CC_HOST: the gcc of your localhost if you are making a target that produces incompatible executables |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
122 |
# CFLAGS_HOST: cflags used for CC_HOST. Make it something if you are getting errors when you try to compi |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
123 |
# windows executables on linux. (just: CFLAGS_HOST:='-I' or something) |
0 | 124 |
|
125 |
||
126 |
############################################################################## |
|
127 |
# |
|
128 |
# Configuration |
|
129 |
# |
|
130 |
||
1148
c7ffa9f5adc1
(svn r1649) Makefile: added known-bugs.txt to mac and MorphOS release scripts and made a really dirty hack to force 0.3.6 on binary files compiled with this makefile
bjarni
parents:
1146
diff
changeset
|
131 |
|
180
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
132 |
# Makefile version tag |
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
133 |
# it checks if the version tag in Makefile.config is the same and force update outdated config files |
3354
245157a5eafe
(svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
bjarni
parents:
3341
diff
changeset
|
134 |
MAKEFILE_VERSION:=10 |
180
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
135 |
|
0 | 136 |
# Automatic configuration |
137 |
MAKE_CONFIG:=Makefile.config |
|
138 |
MAKEFILE:=Makefile |
|
139 |
LIB_DETECTION=makefiledir/Makefile.libdetection |
|
140 |
CONFIG_WRITER=makefiledir/Makefile.config_writer |
|
141 |
||
142 |
# Apply automatic configuration |
|
143 |
# See target section for how this is built, suppress errors |
|
144 |
# since first time it isn't found but make reads this twice |
|
145 |
-include $(MAKE_CONFIG) |
|
146 |
||
1955
793bb2e9f1d3
(svn r2461) -Feature [Makefile] libpng-config can now be called something else in Makefile.config
bjarni
parents:
1952
diff
changeset
|
147 |
|
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
148 |
# updates Makefile.config if it's outdated |
180
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
149 |
ifneq ($(MAKEFILE_VERSION),$(CONFIG_VERSION)) |
1693
463d48b86526
(svn r2197) -fix [Makefile]: SDL_CONFIG from makefile.config is now not always overwritten
bjarni
parents:
1692
diff
changeset
|
150 |
UPDATECONFIG:=upgradeconf |
463d48b86526
(svn r2197) -fix [Makefile]: SDL_CONFIG from makefile.config is now not always overwritten
bjarni
parents:
1692
diff
changeset
|
151 |
CONFIG_INCLUDED:= |
0 | 152 |
endif |
153 |
||
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
154 |
# this is used if there aren't any Makefile.config |
0 | 155 |
ifndef CONFIG_INCLUDED |
285 | 156 |
# sets network on by default if there aren't any config file |
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
532
diff
changeset
|
157 |
ENABLE_NETWORK:=1 |
285 | 158 |
|
159 |
# paths for make install |
|
160 |
# disabled as they would break it for some (many?) people if they were default |
|
161 |
#PREFIX:=/usr/local |
|
162 |
#DATA_DIR:=share/games/openttd |
|
163 |
#BINARY_DIR:=games |
|
164 |
#PERSONAL_DIR:=.openttd |
|
165 |
#USE_HOMEDIR:=1 |
|
166 |
||
0 | 167 |
-include $(LIB_DETECTION) |
168 |
endif |
|
169 |
||
180
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
170 |
ifdef SUPRESS_LANG_ERRORS |
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
171 |
LANG_ERRORS = >/dev/null 2>&1 |
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
172 |
endif |
47ee14fe2b35
(svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents:
164
diff
changeset
|
173 |
|
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
2719
diff
changeset
|
174 |
ifdef OSX |
3901
88d50f8030ce
(svn r4989) -Fix: make the OSX Makefile stuff to work with the compile-farm
truelight
parents:
3900
diff
changeset
|
175 |
-include os/macosx/Makefile.setup |
2722
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
2719
diff
changeset
|
176 |
endif |
d2ab10ffc5e7
(svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
bjarni
parents:
2719
diff
changeset
|
177 |
|
0 | 178 |
ifdef STATIC |
179 |
ifndef WIN32 |
|
180 |
ifndef OSX |
|
181 |
ifndef MORPHOS |
|
182 |
ifndef SKIP_STATIC_CHECK |
|
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
183 |
$(error Static is only known to work on MorphOS and MacOSX!!! --- Check Makefile.config for more info and howto bypass this check) |
0 | 184 |
endif |
185 |
endif |
|
186 |
endif |
|
187 |
endif |
|
188 |
endif |
|
189 |
||
2736
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
190 |
ifdef WITH_COCOA |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
191 |
ifdef WITH_SDL |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
192 |
$(error You can not use both the SDL video driver and the Cocoa video driver at the same time) |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
193 |
endif |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
194 |
ifdef DEDICATED |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
195 |
$(error You can not use the Cocoa video driver in a dedicated server) |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
196 |
endif |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
197 |
else |
0 | 198 |
# Force SDL on UNIX platforms |
199 |
ifndef WITH_SDL |
|
200 |
ifdef UNIX |
|
549
e48b65755929
(svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents:
543
diff
changeset
|
201 |
ifndef DEDICATED |
e48b65755929
(svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents:
543
diff
changeset
|
202 |
$(error You need to have SDL installed in order to run OpenTTD on UNIX. Use DEDICATED if you want to compile a CLI based server) |
0 | 203 |
endif |
204 |
endif |
|
549
e48b65755929
(svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents:
543
diff
changeset
|
205 |
endif |
2736
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
206 |
endif |
549
e48b65755929
(svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents:
543
diff
changeset
|
207 |
|
1029
985407cedbbd
(svn r1530) Makefilefix: now the binary never links to SDL if DEDICATED is set. Thanks to igor2code for making me aware of this issue even through I fixed it in a different way than his patch did. (I made dedicated never link to sdl, nomatter what makefile.config says)
bjarni
parents:
988
diff
changeset
|
208 |
# remove the dependancy for sdl if DEDICALTED is used |
985407cedbbd
(svn r1530) Makefilefix: now the binary never links to SDL if DEDICATED is set. Thanks to igor2code for making me aware of this issue even through I fixed it in a different way than his patch did. (I made dedicated never link to sdl, nomatter what makefile.config says)
bjarni
parents:
988
diff
changeset
|
209 |
ifdef DEDICATED |
2779
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
210 |
WITH_SDL:= |
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
211 |
endif |
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
212 |
|
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
213 |
# add -lpthread to LDFLAGS |
2298
65fe3d67e7fb
(svn r2822) -Fix: don't compile pthread for win32 dedicated servers
truelight
parents:
2291
diff
changeset
|
214 |
ifndef WIN32 |
2779
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
215 |
ifndef MORPHOS |
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
216 |
ifndef OSX |
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
217 |
LDFLAGS+=-lpthread |
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
218 |
endif |
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
219 |
endif |
1029
985407cedbbd
(svn r1530) Makefilefix: now the binary never links to SDL if DEDICATED is set. Thanks to igor2code for making me aware of this issue even through I fixed it in a different way than his patch did. (I made dedicated never link to sdl, nomatter what makefile.config says)
bjarni
parents:
988
diff
changeset
|
220 |
endif |
2779
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
221 |
|
2300
543211f07c9e
(svn r2824) -Fix: OSX can now also produce dedicated servers
truelight
parents:
2299
diff
changeset
|
222 |
ifdef OSX |
2779
0058526344b9
(svn r3326) - Fix: [ 1226832 ] Build fails if SDL is built without pthread support (dst)
Darkvater
parents:
2767
diff
changeset
|
223 |
LDFLAGS+=-framework Cocoa |
2300
543211f07c9e
(svn r2824) -Fix: OSX can now also produce dedicated servers
truelight
parents:
2299
diff
changeset
|
224 |
endif |
0 | 225 |
|
3380
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
226 |
ifdef WITH_SDL |
3406
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
227 |
ifndef SDL_CONFIG |
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
228 |
$(error WITH_SDL can't be used when SDL_CONFIG is not set. Edit Makefile.config to correct this) |
3380
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
229 |
endif |
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
230 |
endif |
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
231 |
|
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
232 |
ifdef WITH_PNG |
3406
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
233 |
ifndef LIBPNG_CONFIG |
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
234 |
$(error WITH_PNG can't be used when LIBPNG_CONFIG is not set. Edit Makefile.config to correct this) |
3380
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
235 |
endif |
2d02cfdf6d14
(svn r4183) -Codechange: [Makefile]: removed MANUAL_CONFIG as it's not used anymore
bjarni
parents:
3355
diff
changeset
|
236 |
endif |
0 | 237 |
|
238 |
############################################################################## |
|
239 |
# |
|
240 |
# Compiler configuration |
|
241 |
# |
|
242 |
||
243 |
# Executable file extension |
|
244 |
ifdef WIN32 |
|
245 |
EXE=.exe |
|
246 |
else |
|
247 |
EXE= |
|
248 |
endif |
|
249 |
||
250 |
# Set output executable names |
|
32 | 251 |
TTD=openttd$(EXE) |
157
dd017fa3bad8
(svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents:
126
diff
changeset
|
252 |
ENDIAN_CHECK=endian_check$(EXE) |
0 | 253 |
STRGEN=strgen/strgen$(EXE) |
254 |
OSXAPP="OpenTTD.app" |
|
255 |
||
256 |
ifdef RELEASE |
|
257 |
REV:=$(RELEASE) |
|
258 |
else |
|
3994
7ed8945d7171
(svn r5197) - Use svn info to automatically find the last modified revision number and get branch information and place it in the revision string. Increase NETWORK_REVISION_LENGTH to accommodate the branch tag.
peter1138
parents:
3907
diff
changeset
|
259 |
ifeq ($(shell if test -d .svn; then echo 1; fi), 1) |
4135
776e8f849206
(svn r5493) -Fix: 'grep -o' isn't supported on all targets. 'sed' is, so use thatone (tokai)
truelight
parents:
4120
diff
changeset
|
260 |
REV_MODIFIED := $(shell svnversion . | sed -n 's/.*\(M\).*/\1/p' ) |
3994
7ed8945d7171
(svn r5197) - Use svn info to automatically find the last modified revision number and get branch information and place it in the revision string. Increase NETWORK_REVISION_LENGTH to accommodate the branch tag.
peter1138
parents:
3907
diff
changeset
|
261 |
REV := $(shell LC_ALL=C svn info | awk '/^URL:.*branch/ { BRANCH="-"a[split($$2, a, "/")] } /^Last Changed Rev:/ { REV="r"$$4"$(REV_MODIFIED)" } END { print REV BRANCH }') |
7ed8945d7171
(svn r5197) - Use svn info to automatically find the last modified revision number and get branch information and place it in the revision string. Increase NETWORK_REVISION_LENGTH to accommodate the branch tag.
peter1138
parents:
3907
diff
changeset
|
262 |
endif |
0 | 263 |
endif |
264 |
||
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
265 |
# define flag to use for -lrt (some OSes overwrites this later for compatibility) |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
266 |
ifndef LRT |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
267 |
ifndef MORPHOS |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
268 |
LRT:= -lrt |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
269 |
endif |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
270 |
endif |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
271 |
|
0 | 272 |
# MorphOS needs builddate |
1289
2514debc704e
(svn r1793) Revert one instance of $(shell) back to ``, because MorphOS does The Wrong Thing(tm) when date is used within $(shell)
tron
parents:
1288
diff
changeset
|
273 |
BUILDDATE=`date +%d.%m.%y` |
0 | 274 |
|
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
275 |
# Check if there is a windres override |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
276 |
ifndef WINDRES |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
277 |
WINDRES = windres |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
278 |
endif |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
279 |
|
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
280 |
# Check that CXX is defined. If not, then it's g++ |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
281 |
ifndef CXX |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
282 |
CXX = g++ |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
283 |
endif |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
284 |
|
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
285 |
# Check if CXX_HOST is defined. If not, it is CXX |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
286 |
ifndef CXX_HOST |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
287 |
CXX_HOST = $(CXX) |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
288 |
endif |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
289 |
|
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
290 |
# Check if we have a new target |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
291 |
ifndef CXX_TARGET |
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
292 |
CXX_TARGET = $(CXX_HOST) |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
293 |
endif |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
294 |
|
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
295 |
# Check if CC_HOST is defined. If not, it is CC |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
296 |
ifndef CC_HOST |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
297 |
CC_HOST = $(CC) |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
298 |
endif |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
299 |
|
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
300 |
ifndef CFLAGS_HOST |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
301 |
CFLAGS_HOST = $(BASECFLAGS) |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
302 |
endif |
0 | 303 |
|
3141
30bd6feedb91
(svn r3759) -Fix: [OSX] don't set CC_HOST to i686 gcc when compiling universal binaries on PPC without any Makefile.config. Introduced in 3674 (before that i686 used PPC as CC_HOST, but nobody noticed that)
bjarni
parents:
3085
diff
changeset
|
304 |
# Check if we have a new target |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
305 |
ifndef CC_TARGET |
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
306 |
CC_TARGET = $(CC_HOST) |
3141
30bd6feedb91
(svn r3759) -Fix: [OSX] don't set CC_HOST to i686 gcc when compiling universal binaries on PPC without any Makefile.config. Introduced in 3674 (before that i686 used PPC as CC_HOST, but nobody noticed that)
bjarni
parents:
3085
diff
changeset
|
307 |
endif |
0 | 308 |
|
4113
f993487814cf
(svn r5456) -Fix: detect the version of the TARGET, not the HOST please
truelight
parents:
4094
diff
changeset
|
309 |
CC_VERSION = $(shell $(CC_TARGET) -dumpversion | cut -c 1,3) |
1052
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
310 |
|
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
311 |
# GNU make can only test for (in)equality |
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
312 |
# this is a workaround to test for >= |
2240
08cab36d20f3
(svn r2760) Remove stale comments, long unused stuff and simplify some checks
tron
parents:
2236
diff
changeset
|
313 |
ifeq ($(shell expr $(CC_VERSION) \>= 29), 1) |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
314 |
CFLAGS += -O -Wall -Wno-multichar -Wsign-compare -Wundef |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
315 |
CC_CFLAGS += -Wstrict-prototypes |
1324
9295c63a1ce1
(svn r1828) New warning flag especially for truelight (:<
tron
parents:
1317
diff
changeset
|
316 |
CFLAGS += -Wwrite-strings -Wpointer-arith |
1052
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
317 |
endif |
2240
08cab36d20f3
(svn r2760) Remove stale comments, long unused stuff and simplify some checks
tron
parents:
2236
diff
changeset
|
318 |
ifeq ($(shell expr $(CC_VERSION) \>= 30), 1) |
1052
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
319 |
CFLAGS += -W -Wno-unused-parameter |
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
320 |
endif |
2240
08cab36d20f3
(svn r2760) Remove stale comments, long unused stuff and simplify some checks
tron
parents:
2236
diff
changeset
|
321 |
ifeq ($(shell expr $(CC_VERSION) \>= 34), 1) |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
322 |
CC_CFLAGS += -Wdeclaration-after-statement -Wold-style-definition |
1052
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
323 |
endif |
f996874f0f16
(svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents:
1051
diff
changeset
|
324 |
|
1240
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
325 |
ifdef DEBUG |
1479
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
326 |
ifeq ($(shell expr $(DEBUG) \>= 1), 1) |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
327 |
CFLAGS += -g -D_DEBUG |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
328 |
endif |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
329 |
ifeq ($(shell expr $(DEBUG) \>= 2), 1) |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
330 |
CFLAGS += -fno-inline |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
331 |
endif |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
332 |
ifeq ($(shell expr $(DEBUG) \>= 3), 1) |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
333 |
CFLAGS += -O0 |
6770c281d22f
(svn r1983) Introduce multiple compile time debug levels
tron
parents:
1476
diff
changeset
|
334 |
endif |
1240
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
335 |
endif |
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
336 |
|
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
337 |
ifdef PROFILE |
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
338 |
CFLAGS += -pg |
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
339 |
LDFLAGS += -pg |
3031
ea55e2750fff
(svn r3611) -Feature: [OSX profiling] Shark (Xcode's profiling tool) can now relate CPU usage to lines in the source files
bjarni
parents:
2997
diff
changeset
|
340 |
ifdef OSX |
ea55e2750fff
(svn r3611) -Feature: [OSX profiling] Shark (Xcode's profiling tool) can now relate CPU usage to lines in the source files
bjarni
parents:
2997
diff
changeset
|
341 |
# Shark (Xcode's profiling tool) needs -g to relate CPU usage to line numbers in the source code |
ea55e2750fff
(svn r3611) -Feature: [OSX profiling] Shark (Xcode's profiling tool) can now relate CPU usage to lines in the source files
bjarni
parents:
2997
diff
changeset
|
342 |
BASECFLAGS += -g |
ea55e2750fff
(svn r3611) -Feature: [OSX profiling] Shark (Xcode's profiling tool) can now relate CPU usage to lines in the source files
bjarni
parents:
2997
diff
changeset
|
343 |
endif |
1240
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
344 |
endif |
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
345 |
|
0 | 346 |
CDEFS=-DWITH_REV |
347 |
||
1240
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
348 |
ifndef DEBUG |
7d7f18e0b2c5
(svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents:
1211
diff
changeset
|
349 |
ifndef PROFILE |
0 | 350 |
# Release mode |
351 |
ifndef MORPHOS |
|
1810
8a574d47872b
(svn r2314) - Feature: [ 1187490 ] Patches for building on IRIX (jgilje)
Darkvater
parents:
1722
diff
changeset
|
352 |
ifndef IRIX |
0 | 353 |
# automatical strip breaks under morphos |
3907
ca5e75a55545
(svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
bjarni
parents:
3906
diff
changeset
|
354 |
ifdef OSX |
ca5e75a55545
(svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
bjarni
parents:
3906
diff
changeset
|
355 |
# it appears that OSX can't handle automated stripping when mixing C and C++ |
ca5e75a55545
(svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
bjarni
parents:
3906
diff
changeset
|
356 |
# we will do it manually in the target OSX_STRIP |
ca5e75a55545
(svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
bjarni
parents:
3906
diff
changeset
|
357 |
OSX_STRIP:=OSX_STRIP |
ca5e75a55545
(svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
bjarni
parents:
3906
diff
changeset
|
358 |
else |
0 | 359 |
LDFLAGS += -s |
360 |
endif |
|
361 |
endif |
|
1810
8a574d47872b
(svn r2314) - Feature: [ 1187490 ] Patches for building on IRIX (jgilje)
Darkvater
parents:
1722
diff
changeset
|
362 |
endif |
3907
ca5e75a55545
(svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
bjarni
parents:
3906
diff
changeset
|
363 |
endif |
0 | 364 |
|
365 |
ifdef OSX |
|
366 |
# these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer |
|
2713
9c42385e4f41
(svn r3258) -Feature: [OSX] added support for universal binaries
bjarni
parents:
2712
diff
changeset
|
367 |
BASECFLAGS += -O3 -funroll-loops -fsched-interblock -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-jumps-max-skip=15 -falign-loops-max-skip=15 -mdynamic-no-pic |
0 | 368 |
else |
369 |
ifdef MORPHOS |
|
2356 | 370 |
BASECFLAGS += -I/gg/os-include -O2 -noixemul -fstrict-aliasing -fexpensive-optimizations |
1291 | 371 |
BASECFLAGS += -mcpu=604 -fno-inline -mstring -mmultiple |
0 | 372 |
else |
1169
6692150e84cd
(svn r1671) Remove WARNING_DISPLAY, because it contained no warning, but an optimization flag
tron
parents:
1168
diff
changeset
|
373 |
BASECFLAGS += -O2 |
0 | 374 |
endif |
375 |
ifndef PROFILE |
|
1810
8a574d47872b
(svn r2314) - Feature: [ 1187490 ] Patches for building on IRIX (jgilje)
Darkvater
parents:
1722
diff
changeset
|
376 |
ifndef IRIX |
0 | 377 |
BASECFLAGS += -fomit-frame-pointer |
378 |
endif |
|
379 |
endif |
|
380 |
endif |
|
1810
8a574d47872b
(svn r2314) - Feature: [ 1187490 ] Patches for building on IRIX (jgilje)
Darkvater
parents:
1722
diff
changeset
|
381 |
endif |
0 | 382 |
|
383 |
ifdef STATIC |
|
384 |
ifndef OSX # OSX can't build static if -static flag is used |
|
385 |
LDFLAGS += -static |
|
386 |
endif |
|
387 |
endif |
|
388 |
||
798 | 389 |
# If building on MingW don't link with Cygwin libs |
0 | 390 |
ifdef WIN32 |
798 | 391 |
ifdef CYGWIN |
392 |
BASECFLAGS += -mwin32 |
|
393 |
LDFLAGS += -mwin32 |
|
394 |
endif |
|
0 | 395 |
ifdef MINGW |
396 |
BASECFLAGS += -mno-cygwin |
|
397 |
LDFLAGS += -mno-cygwin |
|
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
398 |
# -lrt fails with MINGW, so we disable it |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
399 |
LRT:= |
0 | 400 |
endif |
401 |
endif |
|
402 |
||
403 |
CFLAGS += $(BASECFLAGS) |
|
404 |
||
405 |
ifdef UNIX |
|
406 |
CDEFS += -DUNIX |
|
407 |
endif |
|
408 |
||
421
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
409 |
ifdef BEOS |
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
410 |
CDEFS += -DBEOS |
2497
0fe349de34c7
(svn r3023) -Fix [BeOS] fixed compilation on BeOS R5 (MYOB)
bjarni
parents:
2496
diff
changeset
|
411 |
LDFLAGS += -lmidi -lbe -lpthread |
421
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
412 |
ifdef WITH_NETWORK |
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
413 |
ifdef BEOS_NET_SERVER |
1051 | 414 |
CDEFS += -DBEOS_NET_SERVER |
2497
0fe349de34c7
(svn r3023) -Fix [BeOS] fixed compilation on BeOS R5 (MYOB)
bjarni
parents:
2496
diff
changeset
|
415 |
LDFLAGS += -lnet |
1051 | 416 |
else |
2497
0fe349de34c7
(svn r3023) -Fix [BeOS] fixed compilation on BeOS R5 (MYOB)
bjarni
parents:
2496
diff
changeset
|
417 |
# BONE needs a few more libraries than R5 |
1051 | 418 |
LDFLAGS += -lbind -lsocket |
421
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
419 |
endif |
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
420 |
endif |
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
421 |
endif |
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
422 |
|
1164
48da7bcf7b7c
(svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents:
1163
diff
changeset
|
423 |
ifdef MORPHOS |
1291 | 424 |
# -Wstrict-prototypes generates much noise because of system headers |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
425 |
# and it also uses 4-byte bools in the C++ ABI, so C bools need to be that size as well for YAPF to work |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
426 |
CFLAGS += -Wno-strict-prototypes -DFOUR_BYTE_BOOL |
1164
48da7bcf7b7c
(svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents:
1163
diff
changeset
|
427 |
endif |
48da7bcf7b7c
(svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents:
1163
diff
changeset
|
428 |
|
446
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
429 |
ifdef SUNOS |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
430 |
CDEFS += -DSUNOS |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
431 |
ifdef WITH_NETWORK |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
432 |
LDFLAGS += -lnsl -lsocket |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
433 |
endif |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
434 |
endif |
7a92ca9738e2
(svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents:
421
diff
changeset
|
435 |
|
2500
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
436 |
# tell the source that we are building a dedicated server |
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
437 |
ifdef DEDICATED |
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
438 |
CDEFS += -DDEDICATED |
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
439 |
endif |
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
440 |
|
0 | 441 |
# SDL config |
442 |
ifdef WITH_SDL |
|
443 |
CDEFS += -DWITH_SDL |
|
5050
659c09a2b29e
(svn r7100) Evaluate the necessary flags for SDL once per make run, not every time the CFLAGS/LIBS variables are used
tron
parents:
4800
diff
changeset
|
444 |
CCFLAGS_SDL := $(shell $(SDL_CONFIG) --cflags) |
659c09a2b29e
(svn r7100) Evaluate the necessary flags for SDL once per make run, not every time the CFLAGS/LIBS variables are used
tron
parents:
4800
diff
changeset
|
445 |
CFLAGS += $(CCFLAGS_SDL) |
0 | 446 |
ifdef STATIC |
5050
659c09a2b29e
(svn r7100) Evaluate the necessary flags for SDL once per make run, not every time the CFLAGS/LIBS variables are used
tron
parents:
4800
diff
changeset
|
447 |
LDFLAGS_SDL := $(shell $(SDL_CONFIG) --static-libs) |
0 | 448 |
else |
5050
659c09a2b29e
(svn r7100) Evaluate the necessary flags for SDL once per make run, not every time the CFLAGS/LIBS variables are used
tron
parents:
4800
diff
changeset
|
449 |
LDFLAGS_SDL := $(shell $(SDL_CONFIG) --libs) |
0 | 450 |
endif |
5050
659c09a2b29e
(svn r7100) Evaluate the necessary flags for SDL once per make run, not every time the CFLAGS/LIBS variables are used
tron
parents:
4800
diff
changeset
|
451 |
LIBS += $(LDFLAGS_SDL) |
0 | 452 |
endif |
453 |
||
454 |
# zlib config |
|
455 |
ifdef WITH_ZLIB |
|
3389
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
456 |
CDEFS += -DWITH_ZLIB |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
457 |
ifdef STATIC |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
458 |
ifdef OSX |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
459 |
# OSX links dynamically to zlib, even in static builds since it's always present in the system |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
460 |
LIBS += -lz |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
461 |
else |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
462 |
LIBS += $(STATIC_ZLIB_PATH) |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
463 |
endif |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
464 |
else |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
465 |
LIBS += -lz |
56f72f7838cc
(svn r4197) reentered STATIC_ZLIB_PATH (removed in 4183) since it turned out that it's used after all
bjarni
parents:
3380
diff
changeset
|
466 |
endif |
0 | 467 |
endif |
468 |
||
469 |
# libpng config |
|
470 |
ifdef WITH_PNG |
|
471 |
CDEFS += -DWITH_PNG |
|
3406
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
472 |
CFLAGS += $(shell $(LIBPNG_CONFIG) --cppflags --I_opts) |
551
f69b4fc48d19
(svn r951) Makefile: fixed missing flag for libpng, which prevented lib detection if SDL was not used
bjarni
parents:
549
diff
changeset
|
473 |
|
0 | 474 |
# seems like older libpng versions are broken and need this |
475 |
PNGCONFIG_FLAGS = --ldflags --libs |
|
476 |
ifdef STATIC |
|
583
3762db489bb4
(svn r1003) Mac: reintroduced the static libpng hack in makefile since it appears to be needed in the nightly builds
bjarni
parents:
580
diff
changeset
|
477 |
ifdef OSX |
3762db489bb4
(svn r1003) Mac: reintroduced the static libpng hack in makefile since it appears to be needed in the nightly builds
bjarni
parents:
580
diff
changeset
|
478 |
# Seems like we need a tiny hack for OSX static to work |
3406
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
479 |
LIBS += $(shell $(LIBPNG_CONFIG) --prefix)/lib/libpng.a |
583
3762db489bb4
(svn r1003) Mac: reintroduced the static libpng hack in makefile since it appears to be needed in the nightly builds
bjarni
parents:
580
diff
changeset
|
480 |
else |
3406
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
481 |
LIBS += $(shell $(LIBPNG_CONFIG) --static $(PNGCONFIG_FLAGS)) |
583
3762db489bb4
(svn r1003) Mac: reintroduced the static libpng hack in makefile since it appears to be needed in the nightly builds
bjarni
parents:
580
diff
changeset
|
482 |
endif |
0 | 483 |
else |
3406
ee3af0f1932b
(svn r4217) Replace SDL-CONFIG and LIBPNG-CONFIG with SDL_CONFIG and LIBPNG_CONFIG
peter1138
parents:
3389
diff
changeset
|
484 |
LIBS += $(shell $(LIBPNG_CONFIG) --L_opts $(PNGCONFIG_FLAGS)) |
0 | 485 |
endif |
486 |
endif |
|
487 |
||
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
488 |
# use std C++ lib: |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
489 |
LIBS += -lstdc++ |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
490 |
ifndef MINGW |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
491 |
LIBS += -lc |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
492 |
endif |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
493 |
|
3409
7b8a26e4c2f1
(svn r4220) - Fix (r4219): of course iconv is enabled on >= 10.3 not >; fixed comment (thanks Bjarni)
Darkvater
parents:
3408
diff
changeset
|
494 |
# iconv is enabled defaultly on OSX >= 10.3 |
3313
735b30b93dc2
(svn r4076) Back out r4074. It doesn't work and leads to make endlessly calling itself. NOTE: Delete Makefile.config to recover.
tron
parents:
3311
diff
changeset
|
495 |
ifdef OSX |
3408
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
496 |
ifndef JAGUAR |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
497 |
WITH_ICONV=1 |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
498 |
LIBS += -liconv |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
499 |
endif |
3313
735b30b93dc2
(svn r4076) Back out r4074. It doesn't work and leads to make endlessly calling itself. NOTE: Delete Makefile.config to recover.
tron
parents:
3311
diff
changeset
|
500 |
endif |
3408
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
501 |
|
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
502 |
ifdef WITH_ICONV |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
503 |
CDEFS += -DWITH_ICONV |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
504 |
ifdef WITH_ICONV_PATH |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
505 |
CFLAGS += -I$(WITH_ICONV_PATH) |
1da501b2eae1
(svn r4219) - Add support for WITH_ICONV. It is enabled by default for OSX > 10.3 for all others set it with WITH_ICONV in Makefile.config or with --with-iconv with configure. --with-config=/somedir will search for iconv include files somewhere (or in Makefile.config with WITH_ICONV_PATH). Custom library loading is not (yet) supported
Darkvater
parents:
3406
diff
changeset
|
506 |
endif |
3294
6aab2bd8b924
(svn r4019) -Fix: [OSX] stopped using iconv for 10.2.8, since it was added in 10.3
bjarni
parents:
3260
diff
changeset
|
507 |
endif |
3260
ed19f95eb4f7
(svn r3966) -Fix: [OSX and some linux] [ 1157244 ] Can't save game if name contains german umlauts
bjarni
parents:
3214
diff
changeset
|
508 |
|
347
8b6874b7ed27
(svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents:
285
diff
changeset
|
509 |
# enables/disables assert() |
348
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
510 |
ifdef DISABLE_ASSERTS |
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
511 |
CFLAGS += -DNDEBUG |
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
512 |
endif |
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
513 |
|
4324
9682c016b892
(svn r5978) -Add: allow a switch in Makefile.config to disable threads in OpenTTD (no matter what system you are on). Only useful for testing.
truelight
parents:
4300
diff
changeset
|
514 |
ifdef NO_THREADS |
9682c016b892
(svn r5978) -Add: allow a switch in Makefile.config to disable threads in OpenTTD (no matter what system you are on). Only useful for testing.
truelight
parents:
4300
diff
changeset
|
515 |
CFLAGS += -DNO_THREADS |
9682c016b892
(svn r5978) -Add: allow a switch in Makefile.config to disable threads in OpenTTD (no matter what system you are on). Only useful for testing.
truelight
parents:
4300
diff
changeset
|
516 |
endif |
9682c016b892
(svn r5978) -Add: allow a switch in Makefile.config to disable threads in OpenTTD (no matter what system you are on). Only useful for testing.
truelight
parents:
4300
diff
changeset
|
517 |
|
348
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
518 |
# automatically disables asserts for release |
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
519 |
ifdef RELEASE |
347
8b6874b7ed27
(svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents:
285
diff
changeset
|
520 |
ifndef ENABLE_ASSERTS |
8b6874b7ed27
(svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents:
285
diff
changeset
|
521 |
CFLAGS += -DNDEBUG |
8b6874b7ed27
(svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents:
285
diff
changeset
|
522 |
endif |
348
3345a78d37e4
(svn r531) Makefile: made asserts enabled by default
bjarni
parents:
347
diff
changeset
|
523 |
endif |
0 | 524 |
|
525 |
ifdef TRANSLATOR |
|
526 |
STRGEN_FLAGS=-t |
|
527 |
else |
|
528 |
STRGEN_FLAGS= |
|
529 |
endif |
|
530 |
||
2555
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
531 |
# OSX specific setup |
0 | 532 |
ifdef OSX |
2719
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
533 |
# set the endian flag for OSX, that can't fail |
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
534 |
ENDIAN_FORCE:=PREPROCESSOR |
75b0750edccf
(svn r3264) -Codechange: [OSX] OSX targets will now always use the preprocessor to determine endianess
bjarni
parents:
2717
diff
changeset
|
535 |
|
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
536 |
# -lrt fails on OSX, so we disable it |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
537 |
LRT:= |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
538 |
|
2555
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
539 |
ifndef DEDICATED |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
540 |
LIBS += -framework QuickTime |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
541 |
endif |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
542 |
|
2736
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
543 |
ifdef WITH_COCOA |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
544 |
CDEFS += -DWITH_COCOA |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
545 |
LIBS += -F/System/Library/Frameworks -framework Cocoa -framework Carbon -framework AudioUnit |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
546 |
endif |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
547 |
|
2555
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
548 |
# OSX path setup |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
549 |
ifndef SECOND_DATA_PATH |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
550 |
SECOND_DATA_PATH:="$(OSXAPP)/Contents/Data/" |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
551 |
endif |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
552 |
|
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
553 |
ifndef CUSTOM_LANG_DIR |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
554 |
ifndef DEDICATED |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
555 |
CUSTOM_LANG_DIR:="$(OSXAPP)/Contents/Lang/" |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
556 |
endif |
6ec2270f7ae7
(svn r3088) -Fix: [OSX] fixed issue where OSX could not dynamic link to quicktime [ 1334917 ]
bjarni
parents:
2505
diff
changeset
|
557 |
endif |
2500
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
558 |
endif |
0 | 559 |
|
560 |
ifdef MIDI |
|
561 |
CDEFS += -DEXTERNAL_PLAYER=\"$(MIDI)\" |
|
562 |
ifdef MIDI_ARG |
|
563 |
CDEFS += -DMIDI_ARG=\"$(MIDI_ARG)\" |
|
564 |
endif |
|
565 |
endif |
|
566 |
||
567 |
ifdef WITH_NETWORK |
|
568 |
CDEFS += -DENABLE_NETWORK |
|
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
532
diff
changeset
|
569 |
ifdef QNX |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
532
diff
changeset
|
570 |
LIBS += -lsocket |
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
532
diff
changeset
|
571 |
endif |
0 | 572 |
endif |
573 |
||
561
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
574 |
|
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
575 |
ifdef SECOND_DATA_PATH |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
576 |
CDEFS += -DSECOND_DATA_DIR=\"$(SECOND_DATA_PATH)/\" |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
577 |
endif |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
578 |
|
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
579 |
ifdef CUSTOM_LANG_DIR |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
580 |
CDEFS += -DCUSTOM_LANG_DIR=\"$(CUSTOM_LANG_DIR)/\" |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
581 |
endif |
9a0c469a251c
(svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents:
551
diff
changeset
|
582 |
|
0 | 583 |
ifdef WITH_DIRECTMUSIC |
584 |
CDEFS += -DWIN32_ENABLE_DIRECTMUSIC_SUPPORT |
|
585 |
endif |
|
586 |
||
587 |
ifdef WIN32 |
|
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
588 |
LIBS += -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
589 |
ifdef WITH_DIRECTMUSIC |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
590 |
LIBS += -lstdc++ |
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
591 |
endif |
0 | 592 |
TTDLDFLAGS += -Wl,--subsystem,windows |
593 |
endif |
|
594 |
||
1476
c1e4ba7193db
(svn r1980) Check $DESTDIR if $DEST_DIR was not set.
pasky
parents:
1435
diff
changeset
|
595 |
ifndef DEST_DIR |
c1e4ba7193db
(svn r1980) Check $DESTDIR if $DEST_DIR was not set.
pasky
parents:
1435
diff
changeset
|
596 |
DEST_DIR = $(DESTDIR) |
c1e4ba7193db
(svn r1980) Check $DESTDIR if $DEST_DIR was not set.
pasky
parents:
1435
diff
changeset
|
597 |
endif |
c1e4ba7193db
(svn r1980) Check $DESTDIR if $DEST_DIR was not set.
pasky
parents:
1435
diff
changeset
|
598 |
|
0 | 599 |
# sets up the paths for use for make install |
285 | 600 |
ifdef INSTALL |
601 |
# We use _PREFIXED vars here, so the paths are recalculated every time, and |
|
602 |
# the prefix is not prepended in the makefile config |
|
603 |
BINARY_DIR_PREFIXED:=$(PREFIX)/$(BINARY_DIR) |
|
604 |
DATA_DIR_PREFIXED:=$(PREFIX)/$(DATA_DIR) |
|
2901
c9a1a969b017
(svn r3456) - Feature: [Makefile] Icons can now be installed in a seperate directory.
matthijs
parents:
2835
diff
changeset
|
605 |
ICON_DIR_PREFIXED:=$(PREFIX)/$(ICON_DIR) |
285 | 606 |
# We use _INSTALL vars here, these vars are the locations where the files will |
607 |
# be installed |
|
608 |
DATA_DIR_INSTALL=$(DEST_DIR)/$(DATA_DIR_PREFIXED) |
|
609 |
BINARY_DIR_INSTALL=$(DEST_DIR)/$(BINARY_DIR_PREFIXED) |
|
2901
c9a1a969b017
(svn r3456) - Feature: [Makefile] Icons can now be installed in a seperate directory.
matthijs
parents:
2835
diff
changeset
|
610 |
ICON_DIR_INSTALL=$(DEST_DIR)/$(ICON_DIR_PREFIXED) |
285 | 611 |
# Let the code know where to find stuff |
612 |
ifdef DATA_DIR_PREFIXED |
|
613 |
CDEFS += -DGAME_DATA_DIR=\"$(DATA_DIR_PREFIXED)/\" |
|
0 | 614 |
endif |
285 | 615 |
|
616 |
ifdef PERSONAL_DIR |
|
617 |
CDEFS += -DPERSONAL_DIR=\"$(PERSONAL_DIR)/\" |
|
618 |
endif |
|
619 |
||
620 |
ifdef USE_HOMEDIR |
|
621 |
CDEFS += -DUSE_HOMEDIR |
|
622 |
endif |
|
4256
5e29191a88a1
(svn r5872) - Feature: Add an icon to the SDL openttd executable.
Darkvater
parents:
4220
diff
changeset
|
623 |
|
5e29191a88a1
(svn r5872) - Feature: Add an icon to the SDL openttd executable.
Darkvater
parents:
4220
diff
changeset
|
624 |
ifdef ICON_DIR |
5e29191a88a1
(svn r5872) - Feature: Add an icon to the SDL openttd executable.
Darkvater
parents:
4220
diff
changeset
|
625 |
CDEFS += -DICON_DIR=\"$(ICON_DIR_PREFIXED)/\" |
5e29191a88a1
(svn r5872) - Feature: Add an icon to the SDL openttd executable.
Darkvater
parents:
4220
diff
changeset
|
626 |
endif |
0 | 627 |
endif |
628 |
||
629 |
############################################################################## |
|
630 |
# |
|
631 |
# What to compile |
|
632 |
# (users do not want to modify anything below) |
|
633 |
# |
|
634 |
||
635 |
||
636 |
### Sources |
|
637 |
||
2713
9c42385e4f41
(svn r3258) -Feature: [OSX] added support for universal binaries
bjarni
parents:
2712
diff
changeset
|
638 |
# clean up C_SOURCES first. Needed since building universal binaries on OSX calls the makefile recursively (just one time) |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
639 |
SRCS := |
2713
9c42385e4f41
(svn r3258) -Feature: [OSX] added support for universal binaries
bjarni
parents:
2712
diff
changeset
|
640 |
|
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
641 |
SRCS += aircraft_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
642 |
SRCS += aircraft_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
643 |
SRCS += airport.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
644 |
SRCS += airport_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
645 |
SRCS += aystar.c |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4290
diff
changeset
|
646 |
SRCS += bmp.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
647 |
SRCS += bridge_gui.c |
3214
dd744119dfac
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
3212
diff
changeset
|
648 |
SRCS += bridge_map.c |
4800
5afc1bfc7a85
(svn r6722) -Codechange: [aircraft build window] moved aircraft build window to a file of it's own
bjarni
parents:
4656
diff
changeset
|
649 |
SRCS += build_vehicle_gui.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
650 |
SRCS += callback_table.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
651 |
SRCS += clear_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
652 |
SRCS += command.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
653 |
SRCS += console.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
654 |
SRCS += console_cmds.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
655 |
SRCS += currency.c |
4261
28670f743746
(svn r5887) -Cleanup: move date related functions, defines and variables to date.[ch]
rubidium
parents:
4256
diff
changeset
|
656 |
SRCS += date.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
657 |
SRCS += debug.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
658 |
SRCS += dedicated.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
659 |
SRCS += depot.c |
4638
05955c6cb536
(svn r6513) -Codechange: unified the code to draw depot windows
bjarni
parents:
4562
diff
changeset
|
660 |
SRCS += depot_gui.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
661 |
SRCS += disaster_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
662 |
SRCS += dock_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
663 |
SRCS += driver.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
664 |
SRCS += dummy_land.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
665 |
SRCS += economy.c |
3355
e414a0b104a6
(svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents:
3354
diff
changeset
|
666 |
SRCS += elrail.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
667 |
SRCS += engine.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
668 |
SRCS += engine_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
669 |
SRCS += fileio.c |
4220
e3bee34c9076
(svn r5764) - Cleanup: - Cleanup: Move the now unified FiosAlloc, compare_FiosItems, FiosFreeSavegameList, FiosMakeSavegameName, FiosDelete and FileExists to newly created file fios.c where it belongs.
Darkvater
parents:
4135
diff
changeset
|
670 |
SRCS += fios.c |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4290
diff
changeset
|
671 |
SRCS += genworld.c |
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4290
diff
changeset
|
672 |
SRCS += genworld_gui.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
673 |
SRCS += gfx.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
674 |
SRCS += gfxinit.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
675 |
SRCS += graph_gui.c |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4290
diff
changeset
|
676 |
SRCS += heightmap.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
677 |
SRCS += industry_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
678 |
SRCS += industry_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
679 |
SRCS += intro_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
680 |
SRCS += landscape.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
681 |
SRCS += main_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
682 |
SRCS += map.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
683 |
SRCS += md5.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
684 |
SRCS += mersenne.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
685 |
SRCS += minilzo.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
686 |
SRCS += misc.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
687 |
SRCS += misc_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
688 |
SRCS += misc_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
689 |
SRCS += mixer.c |
4120
b21fda0c260a
(svn r5464) [Behaviour Fix] : When starting the game, the system will now verify the presence of music files in gm forlder.
belugas
parents:
4113
diff
changeset
|
690 |
SRCS += music.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
691 |
SRCS += music_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
692 |
SRCS += namegen.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
693 |
SRCS += network.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
694 |
SRCS += network_client.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
695 |
SRCS += network_data.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
696 |
SRCS += network_gamelist.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
697 |
SRCS += network_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
698 |
SRCS += network_server.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
699 |
SRCS += network_udp.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
700 |
SRCS += newgrf.c |
3866
b13553406a0a
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
3745
diff
changeset
|
701 |
SRCS += newgrf_cargo.c |
2962
f0a49b646c48
(svn r3524) - Split newgrf features from engine.[ch] into newgrf_engine.[ch], and add the new files to project files.
peter1138
parents:
2948
diff
changeset
|
702 |
SRCS += newgrf_engine.c |
4656
9c1d8c4d3e60
(svn r6532) - Feature: Add support for NewGRF sound effects. Currently sound priority isn't supported.
peter1138
parents:
4638
diff
changeset
|
703 |
SRCS += newgrf_sound.c |
3595
a0acdb23e662
(svn r4486) - NewGRF: Create and use a memory pool to manage sprite groups. This
peter1138
parents:
3409
diff
changeset
|
704 |
SRCS += newgrf_spritegroup.c |
2963
f28ce0549513
(svn r3525) - Rename station_newgrf.[ch] to newgrf_station.[ch], and update project files.
peter1138
parents:
2962
diff
changeset
|
705 |
SRCS += newgrf_station.c |
3601
138bf309cf27
(svn r4493) Newgrf : Action 04. Beginning of implementation.
belugas
parents:
3595
diff
changeset
|
706 |
SRCS += newgrf_text.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
707 |
SRCS += news_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
708 |
SRCS += npf.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
709 |
SRCS += oldloader.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
710 |
SRCS += openttd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
711 |
SRCS += order_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
712 |
SRCS += order_gui.c |
3341
b20541ef8945
(svn r4125) - Feature: Add a general TIC() TOC() mechanism using rdtsc or something similar on non-i386 architectures to performance-tune (critical) code. Some systems are probably missing, but those can be added later.
Darkvater
parents:
3334
diff
changeset
|
713 |
SRCS += os_timer.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
714 |
SRCS += pathfind.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
715 |
SRCS += player_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
716 |
SRCS += players.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
717 |
SRCS += pool.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
718 |
SRCS += queue.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
719 |
SRCS += rail.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
720 |
SRCS += rail_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
721 |
SRCS += rail_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
722 |
SRCS += rev.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
723 |
SRCS += road_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
724 |
SRCS += road_gui.c |
3146
8d95593c5ff0
(svn r3766) Add a function to get the RoadBits from an arbitrary tile
tron
parents:
3141
diff
changeset
|
725 |
SRCS += road_map.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
726 |
SRCS += roadveh_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
727 |
SRCS += roadveh_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
728 |
SRCS += saveload.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
729 |
SRCS += screenshot.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
730 |
SRCS += settings.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
731 |
SRCS += settings_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
732 |
SRCS += ship_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
733 |
SRCS += ship_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
734 |
SRCS += signs.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
735 |
SRCS += smallmap_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
736 |
SRCS += sound.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
737 |
SRCS += spritecache.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
738 |
SRCS += station_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
739 |
SRCS += station_gui.c |
3334
2999d2ddc0f9
(svn r4113) Moved all relevant map functions for stations to station_map.[ch]
celestar
parents:
3313
diff
changeset
|
740 |
SRCS += station_map.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
741 |
SRCS += string.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
742 |
SRCS += strings.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
743 |
SRCS += subsidy_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
744 |
SRCS += terraform_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
745 |
SRCS += texteff.c |
4300
c7e43c47a2b9
(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:
truelight
parents:
4290
diff
changeset
|
746 |
SRCS += tgp.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
747 |
SRCS += thread.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
748 |
SRCS += tile.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
749 |
SRCS += town_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
750 |
SRCS += town_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
751 |
SRCS += train_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
752 |
SRCS += train_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
753 |
SRCS += tree_cmd.c |
3154 | 754 |
SRCS += tunnel_map.c |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
755 |
SRCS += tunnelbridge_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
756 |
SRCS += unmovable_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
757 |
SRCS += vehicle.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
758 |
SRCS += vehicle_gui.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
759 |
SRCS += viewport.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
760 |
SRCS += water_cmd.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
761 |
SRCS += waypoint.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
762 |
SRCS += widget.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
763 |
SRCS += window.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
764 |
SRCS += music/null_m.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
765 |
SRCS += sound/null_s.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
766 |
SRCS += video/dedicated_v.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
767 |
SRCS += video/null_v.c |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
768 |
SRCS += yapf/follow_track.cpp |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
769 |
SRCS += yapf/yapf_common.cpp |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
770 |
SRCS += yapf/yapf_rail.cpp |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
771 |
SRCS += yapf/yapf_road.cpp |
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
772 |
SRCS += yapf/yapf_ship.cpp |
677 | 773 |
|
2395
d1629f64d157
(svn r2921) -Codechange: moved all AI-code to 1 central place (ai/ai.c)
truelight
parents:
2381
diff
changeset
|
774 |
# AI related files |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
775 |
SRCS += ai/ai.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
776 |
SRCS += ai/default/default.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
777 |
SRCS += ai/trolly/build.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
778 |
SRCS += ai/trolly/pathfinder.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
779 |
SRCS += ai/trolly/shared.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
780 |
SRCS += ai/trolly/trolly.c |
2188
640a0a5f77ea
(svn r2703) - Feature: [OSX] Added a native alert window to show whatever error() needs to print (Tobin made this, while I fixed some issued in it)
bjarni
parents:
2185
diff
changeset
|
781 |
|
1829
e90fe433fa7d
(svn r2334) - Fix (regression): moved togglefullscreen into the video-driver, now windows works, dedicated works and sdl works. Also reverted the change to the makefile.
Darkvater
parents:
1825
diff
changeset
|
782 |
ifdef WITH_SDL |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
783 |
SRCS += sdl.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
784 |
SRCS += sound/sdl_s.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
785 |
SRCS += video/sdl_v.c |
1829
e90fe433fa7d
(svn r2334) - Fix (regression): moved togglefullscreen into the video-driver, now windows works, dedicated works and sdl works. Also reverted the change to the makefile.
Darkvater
parents:
1825
diff
changeset
|
786 |
endif |
e90fe433fa7d
(svn r2334) - Fix (regression): moved togglefullscreen into the video-driver, now windows works, dedicated works and sdl works. Also reverted the change to the makefile.
Darkvater
parents:
1825
diff
changeset
|
787 |
|
0 | 788 |
ifdef WIN32 |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
789 |
SRCS += win32.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
790 |
SRCS += music/win32_m.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
791 |
SRCS += sound/win32_s.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
792 |
SRCS += video/win32_v.c |
0 | 793 |
else |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
794 |
SRCS += unix.c |
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
795 |
SRCS += music/extmidi.c |
0 | 796 |
endif |
797 |
||
2188
640a0a5f77ea
(svn r2703) - Feature: [OSX] Added a native alert window to show whatever error() needs to print (Tobin made this, while I fixed some issued in it)
bjarni
parents:
2185
diff
changeset
|
798 |
ifdef OSX |
2736
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
799 |
SRCS += os/macosx/macos.m |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
800 |
ifndef DEDICATED |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
801 |
SRCS += music/qtmidi.c |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
802 |
endif |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
803 |
ifdef WITH_COCOA |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
804 |
SRCS += video/cocoa_v.m |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
805 |
SRCS += sound/cocoa_s.c |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
806 |
SRCS += os/macosx/splash.c |
3d6487cbbb69
(svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
bjarni
parents:
2735
diff
changeset
|
807 |
endif |
2500
92bc404b86ca
(svn r3026) -Fix: [OSX] fixed bug that prevented dedicated servers from compiling (introduced in r3022)
bjarni
parents:
2497
diff
changeset
|
808 |
endif |
2188
640a0a5f77ea
(svn r2703) - Feature: [OSX] Added a native alert window to show whatever error() needs to print (Tobin made this, while I fixed some issued in it)
bjarni
parents:
2185
diff
changeset
|
809 |
|
421
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
810 |
ifdef BEOS |
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
811 |
SRCS += music/bemidi.cpp |
421
3dd9b5a439af
(svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents:
413
diff
changeset
|
812 |
endif |
0 | 813 |
|
814 |
ifdef WIN32 |
|
2742
a85da8a7fac8
(svn r3287) Turn the winres.o: openttd.rc special case into a normal %.o: %.rc rule
tron
parents:
2736
diff
changeset
|
815 |
SRCS += ottdres.rc |
0 | 816 |
endif |
817 |
||
818 |
ifdef WITH_DIRECTMUSIC |
|
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
819 |
SRCS += music/dmusic.cpp |
0 | 820 |
endif |
821 |
||
2735
07adb417aa05
(svn r3280) Merge the seperate (C|CXX|OBJC)_SOURCES variables into a single variable SRCS
tron
parents:
2731
diff
changeset
|
822 |
OBJS += $(filter %.o, $(SRCS:%.cpp=%.o) $(SRCS:%.m=%.o) $(SRCS:%.c=%.o) $(SRCS:%.rc=%.o)) |
1170
f55fbc6b3fce
(svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents:
1169
diff
changeset
|
823 |
DEPS = $(OBJS:%.o=.deps/%.d) |
0 | 824 |
|
825 |
LANG_TXT = $(filter-out %.unfinished.txt,$(wildcard lang/*.txt)) |
|
826 |
LANGS = $(LANG_TXT:%.txt=%.lng) |
|
827 |
||
162
565551f829e9
(svn r163) Makefile: made compileroutput nicer and added NOVERBOSE to supress all warnings/errors if wanted(default off) (sign_de)
bjarni
parents:
157
diff
changeset
|
828 |
|
0 | 829 |
############################################################################## |
830 |
# |
|
1413
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
831 |
# Build commands |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
832 |
# |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
833 |
|
2369
80ca2ba71384
(svn r2895) Remove unused variables and bring a comment closer to reality
tron
parents:
2356
diff
changeset
|
834 |
# If we are verbose, we will show commands prefixed by $(Q). |
80ca2ba71384
(svn r2895) Remove unused variables and bring a comment closer to reality
tron
parents:
2356
diff
changeset
|
835 |
# The $(Q)s get replaced by @ in non-verbose mode. |
1413
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
836 |
# Inspired by the Linux kernel build system. |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
837 |
ifdef VERBOSE |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
838 |
Q = |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
839 |
else |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
840 |
Q = @ |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
841 |
endif |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
842 |
|
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
843 |
|
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
844 |
############################################################################## |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
845 |
# |
0 | 846 |
# Targets |
847 |
# |
|
848 |
||
849 |
||
850 |
### Normal build rules |
|
851 |
||
852 |
||
853 |
ifdef OSX |
|
2713
9c42385e4f41
(svn r3258) -Feature: [OSX] added support for universal binaries
bjarni
parents:
2712
diff
changeset
|
854 |
# needs to be before all |
0 | 855 |
OSX:=OSX |
856 |
endif |
|
857 |
||
858 |
||
3903
224d77e00330
(svn r4991) -Fix: don't compile UNITTEST by default, it isn't needed
truelight
parents:
3901
diff
changeset
|
859 |
all: endian_target.h endian_host.h $(UPDATECONFIG) $(LANGS) $(TTD) $(OSX) |
0 | 860 |
|
2714
2d0366113f47
(svn r3259) -Fix: [OSX] fixed that universal binaries did not make a bundle
bjarni
parents:
2713
diff
changeset
|
861 |
ifdef OSX |
2d0366113f47
(svn r3259) -Fix: [OSX] fixed that universal binaries did not make a bundle
bjarni
parents:
2713
diff
changeset
|
862 |
-include os/macosx/Makefile |
2d0366113f47
(svn r3259) -Fix: [OSX] fixed that universal binaries did not make a bundle
bjarni
parents:
2713
diff
changeset
|
863 |
endif |
2d0366113f47
(svn r3259) -Fix: [OSX] fixed that universal binaries did not make a bundle
bjarni
parents:
2713
diff
changeset
|
864 |
|
1721
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
865 |
endian_host.h: $(ENDIAN_CHECK) |
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
866 |
@echo '===> Testing endianness for host' |
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
867 |
$(Q)./$(ENDIAN_CHECK) > $@ |
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
868 |
|
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
869 |
endian_target.h: $(ENDIAN_CHECK) |
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
870 |
@echo '===> Testing endianness for target' |
1692
0b52df38cabc
(svn r2196) -Change: updated the Makefile, now it works for crossplatform compiling
TrueLight
parents:
1629
diff
changeset
|
871 |
$(Q)./$(ENDIAN_CHECK) $(ENDIAN_FORCE) > $@ |
157
dd017fa3bad8
(svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents:
126
diff
changeset
|
872 |
|
dd017fa3bad8
(svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents:
126
diff
changeset
|
873 |
$(ENDIAN_CHECK): endian_check.c |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
874 |
@echo '===> Compiling and Linking $@' |
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
875 |
$(Q)$(CC_HOST) $(CFLAGS_HOST) $(CDEFS) $< -o $@ |
222
b88456001397
(svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents:
221
diff
changeset
|
876 |
|
0 | 877 |
|
3901
88d50f8030ce
(svn r4989) -Fix: make the OSX Makefile stuff to work with the compile-farm
truelight
parents:
3900
diff
changeset
|
878 |
ifndef MACOSX_BUILD |
3354
245157a5eafe
(svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
bjarni
parents:
3341
diff
changeset
|
879 |
# OSX links in os/macosx/Makefile to handle universal binaries better |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
880 |
$(TTD): $(OBJS) $(MAKE_CONFIG) |
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
881 |
@echo '===> Linking $@' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
882 |
$(Q)$(CXX_TARGET) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS) $(LIBS) -o $@ |
3354
245157a5eafe
(svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
bjarni
parents:
3341
diff
changeset
|
883 |
endif |
0 | 884 |
|
4370
5beb8896ae3d
(svn r6089) -Backport r6088: added -s (source) and -d (destination) to strgen (Darkvater)
truelight
parents:
4324
diff
changeset
|
885 |
$(STRGEN): strgen/strgen.c string.c endian_host.h |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
886 |
@echo '===> Compiling and Linking $@' |
4370
5beb8896ae3d
(svn r6089) -Backport r6088: added -s (source) and -d (destination) to strgen (Darkvater)
truelight
parents:
4324
diff
changeset
|
887 |
$(Q)$(CC_HOST) $(CFLAGS_HOST) -DSTRGEN strgen/strgen.c string.c -o $@ |
0 | 888 |
|
474 | 889 |
table/strings.h: lang/english.txt $(STRGEN) |
1118 | 890 |
@echo '===> Generating $@' |
4370
5beb8896ae3d
(svn r6089) -Backport r6088: added -s (source) and -d (destination) to strgen (Darkvater)
truelight
parents:
4324
diff
changeset
|
891 |
$(Q)$(STRGEN) -s lang -d table |
222
b88456001397
(svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents:
221
diff
changeset
|
892 |
|
476
68e6469a3c91
(svn r727) The langauge files depend on english.txt, not strings.h
tron
parents:
475
diff
changeset
|
893 |
lang/%.lng: lang/%.txt $(STRGEN) lang/english.txt |
1118 | 894 |
@echo '===> Compiling language $(*F)' |
4370
5beb8896ae3d
(svn r6089) -Backport r6088: added -s (source) and -d (destination) to strgen (Darkvater)
truelight
parents:
4324
diff
changeset
|
895 |
$(Q)$(STRGEN) $(STRGEN_FLAGS) -s lang -d lang $< $(LANG_ERRORS) || rm -f $@ |
0 | 896 |
|
770
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
730
diff
changeset
|
897 |
ifdef MORPHOS |
3900
2c84ed52709d
(svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing.
KUDr
parents:
3866
diff
changeset
|
898 |
|
770
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
730
diff
changeset
|
899 |
release: all |
1413
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
900 |
$(Q)rm -fr "/t/openttd-$(RELEASE)-morphos.lha" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
901 |
$(Q)mkdir -p "/t/" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
902 |
$(Q)mkdir -p "/t/openttd-$(RELEASE)-morphos" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
903 |
$(Q)mkdir -p "/t/openttd-$(RELEASE)-morphos/docs" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
904 |
$(Q)mkdir -p "/t/openttd-$(RELEASE)-morphos/data" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
905 |
$(Q)mkdir -p "/t/openttd-$(RELEASE)-morphos/lang" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
906 |
$(Q)mkdir -p "/t/openttd-$(RELEASE)-morphos/scenario" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
907 |
$(Q)cp -R $(TTD) "/t/openttd-$(RELEASE)-morphos/" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
908 |
$(Q)cp data/* "/t/openttd-$(RELEASE)-morphos/data/" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
909 |
$(Q)cp lang/*.lng "/t/openttd-$(RELEASE)-morphos/lang/" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
910 |
$(Q)cp scenario/* "/t/openttd-$(RELEASE)-morphos/scenario/" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
911 |
$(Q)cp readme.txt "/t/openttd-$(RELEASE)-morphos/docs/ReadMe" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
912 |
$(Q)cp docs/console.txt "/t/openttd-$(RELEASE)-morphos/docs/Console" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
913 |
$(Q)cp COPYING "/t/openttd-$(RELEASE)-morphos/docs/" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
914 |
$(Q)cp changelog.txt "/t/openttd-$(RELEASE)-morphos/docs/ChangeLog" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
915 |
$(Q)cp known-bugs.txt "/t/openttd-$(RELEASE)-morphos/docs/known-bugs.txt" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
916 |
$(Q)cp os/morphos/icons/openttd.info "/t/openttd-$(RELEASE)-morphos/$(TTD).info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
917 |
$(Q)cp os/morphos/icons/docs.info "/t/openttd-$(RELEASE)-morphos/docs.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
918 |
$(Q)cp os/morphos/icons/drawer.info "/t/openttd-$(RELEASE)-morphos.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
919 |
$(Q)cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/ReadMe.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
920 |
$(Q)cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/Console.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
921 |
$(Q)cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/COPYING.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
922 |
$(Q)cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/ChangeLog.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
923 |
$(Q)strip --strip-all --strip-unneeded --remove-section .comment "/t/openttd-$(RELEASE)-morphos/$(TTD)" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
924 |
$(Q)lha a -r "t:openttd-$(RELEASE)-morphos.lha" "t:openttd-$(RELEASE)-morphos" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
925 |
$(Q)lha a "t:openttd-$(RELEASE)-morphos.lha" "t:openttd-$(RELEASE)-morphos.info" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
926 |
$(Q)rm -fr "/t/openttd-$(RELEASE)-morphos" |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
927 |
$(Q)rm -fr "/t/openttd-$(RELEASE)-morphos.info" |
770
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
730
diff
changeset
|
928 |
@echo "Release archive can be found in RAM:t/ now." |
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
730
diff
changeset
|
929 |
|
1251 | 930 |
.PHONY: release |
770
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
730
diff
changeset
|
931 |
endif |
c2eacca29601
(svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents:
730
diff
changeset
|
932 |
|
0 | 933 |
rev.c: FORCE |
934 |
@# setting the revision number in a place, there the binary can read it |
|
615
fc0771d6a26c
(svn r1039) Makefile: now RELEASE flag can contain () too
bjarni
parents:
610
diff
changeset
|
935 |
@echo 'const char _openttd_revision[] = "$(REV)";' >>rev.c.new |
0 | 936 |
@# some additions for MorphOS versions tag |
937 |
@echo '#ifdef __MORPHOS__' >>rev.c.new |
|
2378
708a7d1c653d
(svn r2904) Stupid editors, and renaming files with the same name just different casing is not really possible, so here comes another commit
Darkvater
parents:
2377
diff
changeset
|
938 |
@echo 'const char morphos_versions_tag[] = "\\0$$VER: OpenTTD $(REV) ('${BUILDDATE}') © OpenTTD Team [MorphOS, PowerPC]";' >>rev.c.new |
0 | 939 |
@echo '#endif' >>rev.c.new |
940 |
@# Only update the real rev.c if it actually changed, to prevent |
|
941 |
@# useless rebuilds. |
|
942 |
@cmp -s rev.c rev.c.new 2>/dev/null || mv rev.c.new rev.c |
|
943 |
@rm -f rev.c.new |
|
944 |
||
945 |
FORCE: |
|
946 |
||
947 |
||
948 |
clean: |
|
1118 | 949 |
@echo '===> Cleaning up' |
1721
e2887b445ac0
(svn r2225) -Fix: split the endian-detection to target/host. Now cross-compiling
truelight
parents:
1720
diff
changeset
|
950 |
# endian.h is out-dated and no longer in use, so it can be removed soon |
4562 | 951 |
$(Q)rm -rf .deps *~ $(TTD) $(STRGEN) core table/strings.h $(LANGS) $(OBJS) $(OSX_MIDI_PLAYER_FILE) endian.h endian_host.h endian_target.h $(ENDIAN_CHECK) .OSX |
0 | 952 |
|
953 |
mrproper: clean |
|
1413
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
954 |
$(Q)rm -rf $(MAKE_CONFIG) |
0 | 955 |
|
956 |
ifndef OSX |
|
957 |
ifndef MORPHOS |
|
958 |
install: |
|
285 | 959 |
ifeq ($(INSTALL),) |
960 |
$(error make install is highly experimental at his state and not\ |
|
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
961 |
tested very much - use at your own risk - to use run \"make install INSTALL:=1\" - make sure Makefile.config\ |
0 | 962 |
is set correctly up - run \"make upgradeconf\") |
285 | 963 |
endif |
964 |
||
543
946badd71033
(svn r942) -Merged branch/network back into the trunk
truelight
parents:
532
diff
changeset
|
965 |
ifeq ($(PREFIX), ) |
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
966 |
$(error no prefix set - check Makefile.config) |
285 | 967 |
endif |
968 |
# We compare against the non prefixed version here, so we won't install |
|
969 |
# if only the prefix has been set |
|
970 |
ifeq ($(DATA_DIR),) |
|
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
971 |
$(error no data path set - check Makefile.config) |
285 | 972 |
endif |
973 |
ifeq ($(BINARY_DIR),) |
|
1492
311c5770360e
(svn r1996) makefile.config -> Makefile.config, that's its name.
pasky
parents:
1491
diff
changeset
|
974 |
$(error no binary path set - check Makefile.config) |
285 | 975 |
endif |
976 |
# We'll install in $DEST_DIR instead of root if it is set (we don't |
|
977 |
# care about extra /'s |
|
1491
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
978 |
install -d $(DATA_DIR_INSTALL)/lang \ |
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
979 |
$(DATA_DIR_INSTALL)/data \ |
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
980 |
$(DATA_DIR_INSTALL)/gm \ |
2948
c81b70eb539a
(svn r3507) - Fix: [Makefile] Make sure the ICON_DIR gets created before copying files there.
matthijs
parents:
2918
diff
changeset
|
981 |
$(ICON_DIR_INSTALL) \ |
1491
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
982 |
$(BINARY_DIR_INSTALL) |
1865
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
983 |
ifndef USE_HOMEDIR |
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
984 |
mkdir -p $(PERSONAL_DIR)/scenario |
4374
f155d5943625
(svn r6104) -Fix: make install did not create a directory for the heightmaps
rubidium
parents:
4370
diff
changeset
|
985 |
mkdir -p $(PERSONAL_DIR)/scenario/heightmap |
1865
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
986 |
else |
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
987 |
mkdir -p $(DATA_DIR_INSTALL)/scenario |
4374
f155d5943625
(svn r6104) -Fix: make install did not create a directory for the heightmaps
rubidium
parents:
4370
diff
changeset
|
988 |
mkdir -p $(DATA_DIR_INSTALL)/scenario/heightmap |
1865
739183b1243a
(svn r2371) - Fix: [ 1144510 ] make install tries to install scenarios in the (non-existing) personal dir when USE_HOMEDIR is specified.
matthijs
parents:
1829
diff
changeset
|
989 |
endif |
1491
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
990 |
install $(TTD) $(BINARY_DIR_INSTALL) |
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
991 |
install -m 644 lang/*.lng $(DATA_DIR_INSTALL)/lang |
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
992 |
install -m 644 data/*.grf $(DATA_DIR_INSTALL)/data |
72850e1c2ca4
(svn r1995) Makefile: Use the install tool instead of mkdir+cp for installing the system-wide stuff, more secure. Based on Peter Brett's patch 1152428.
pasky
parents:
1479
diff
changeset
|
993 |
install -m 644 data/opntitle.dat $(DATA_DIR_INSTALL)/data |
2901
c9a1a969b017
(svn r3456) - Feature: [Makefile] Icons can now be installed in a seperate directory.
matthijs
parents:
2835
diff
changeset
|
994 |
install -m 644 media/openttd.64.png $(ICON_DIR_INSTALL) |
c9a1a969b017
(svn r3456) - Feature: [Makefile] Icons can now be installed in a seperate directory.
matthijs
parents:
2835
diff
changeset
|
995 |
install -m 644 media/openttd.32.xpm $(ICON_DIR_INSTALL) |
0 | 996 |
else #MorphOS |
997 |
install: |
|
998 |
$(error make install is not supported on MorphOS) |
|
999 |
endif |
|
1000 |
else # OSX |
|
1001 |
install: |
|
1002 |
$(error make install is not supported on MacOSX) |
|
1003 |
endif |
|
1004 |
||
1005 |
||
1006 |
love: |
|
1007 |
@echo "YES! I thought you would never ask. We will have a great time. You can keep me turned on all night" |
|
1008 |
||
2576
5df466ff00c6
(svn r3113) -Fix: The Makefile had 64bit code which was obsolete, not to say wrong.
truelight
parents:
2555
diff
changeset
|
1009 |
.PHONY: clean all $(OSX) install love |
0 | 1010 |
|
1011 |
||
1012 |
### Automatic configuration |
|
1013 |
-include $(CONFIG_WRITER) |
|
222
b88456001397
(svn r223) -Fix: Const correctness and miscellaneous fixes. Thank you Tron for your diligent fixing of warnings (and some possibly bugs) (Tron)
darkvater
parents:
221
diff
changeset
|
1014 |
|
0 | 1015 |
|
1016 |
# Export all variables set to subprocesses (a bit dirty) |
|
1017 |
.EXPORT_ALL_VARIABLES: |
|
1018 |
upgradeconf: $(MAKE_CONFIG) |
|
1413
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
1019 |
$(Q)rm $(MAKE_CONFIG) |
5b907273606d
(svn r1917) - Makefile: Revamped VERBOSE support, build mechanics changed.
pasky
parents:
1411
diff
changeset
|
1020 |
$(Q)$(MAKE) $(MAKE_CONFIG) |
0 | 1021 |
|
1022 |
.PHONY: upgradeconf |
|
1023 |
||
1024 |
||
1025 |
### Internal build rules |
|
1026 |
||
1027 |
# This makes sure the .deps dir is always around. |
|
2792
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1028 |
DEPS_MAGIC := $(shell mkdir -p $(sort $(dir $(DEPS)))) |
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1029 |
|
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1030 |
depend: |
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1031 |
@true # The include handles this automagically |
0 | 1032 |
|
1033 |
# Introduce the dependencies |
|
4562 | 1034 |
ifeq ($(findstring $(MAKECMDGOALS), clean info mrproper upgradeconf $(MAKE_CONFIG)),) |
1167
507a33e75007
(svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (;
tron
parents:
1164
diff
changeset
|
1035 |
-include $(DEPS) |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1036 |
endif |
0 | 1037 |
|
2792
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1038 |
# Silence stale header dependency errors |
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1039 |
%.h: |
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1040 |
@true |
1170
f55fbc6b3fce
(svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents:
1169
diff
changeset
|
1041 |
|
2327
69493bdce1ae
(svn r2853) Add missing dependencies and flags to the dependency targets and make the info target more informative
tron
parents:
2317
diff
changeset
|
1042 |
.deps/%.d: %.c $(MAKE_CONFIG) table/strings.h endian_target.h |
2792
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1043 |
@echo '===> DEP $<' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
1044 |
$(Q)$(CC_TARGET) $(CFLAGS) $(CDEFS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:.deps/%.d=%.o):#' > $@ |
2188
640a0a5f77ea
(svn r2703) - Feature: [OSX] Added a native alert window to show whatever error() needs to print (Tobin made this, while I fixed some issued in it)
bjarni
parents:
2185
diff
changeset
|
1045 |
|
2327
69493bdce1ae
(svn r2853) Add missing dependencies and flags to the dependency targets and make the info target more informative
tron
parents:
2317
diff
changeset
|
1046 |
.deps/%.d: %.cpp $(MAKE_CONFIG) table/strings.h endian_target.h |
2792
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1047 |
@echo '===> DEP $<' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
1048 |
$(Q)$(CXX_TARGET) $(CFLAGS) $(CDEFS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:.deps/%.d=%.o):#' > $@ |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1049 |
|
2327
69493bdce1ae
(svn r2853) Add missing dependencies and flags to the dependency targets and make the info target more informative
tron
parents:
2317
diff
changeset
|
1050 |
.deps/%.d: %.m $(MAKE_CONFIG) table/strings.h endian_target.h |
2792
b04a77d57628
(svn r3340) Fix dependency calculation: dependencies didn't get recalculated if a header file changed
tron
parents:
2779
diff
changeset
|
1051 |
@echo '===> DEP $<' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
1052 |
$(Q)$(CC_TARGET) $(OBJCFLAGS) $(CDEFS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:.deps/%.d=%.o):#' > $@ |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1053 |
|
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1054 |
|
3901
88d50f8030ce
(svn r4989) -Fix: make the OSX Makefile stuff to work with the compile-farm
truelight
parents:
3900
diff
changeset
|
1055 |
ifndef MACOSX_BUILD |
3354
245157a5eafe
(svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
bjarni
parents:
3341
diff
changeset
|
1056 |
# OSX uses os/macosx/Makefile to compile files |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1057 |
%.o: %.c $(MAKE_CONFIG) |
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1058 |
@echo '===> Compiling $<' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
1059 |
$(Q)$(CC_TARGET) $(CC_CFLAGS) $(CFLAGS) $(CDEFS) -c -o $@ $< |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1060 |
|
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1061 |
%.o: %.cpp $(MAKE_CONFIG) |
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1062 |
@echo '===> Compiling $<' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
1063 |
$(Q)$(CXX_TARGET) $(CFLAGS) $(CDEFS) -c -o $@ $< |
2315
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1064 |
|
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1065 |
%.o: %.m $(MAKE_CONFIG) |
63124f563f89
(svn r2841) Pimp the Makefile: Determining the header dependencies is now a separate step.
tron
parents:
2302
diff
changeset
|
1066 |
@echo '===> Compiling $<' |
4094
333c7cf842a7
(svn r5426) - Makefile: Make the configure script work properly for setting target compilers; Set CC_TARGET / CXX_TARGET
peter1138
parents:
3994
diff
changeset
|
1067 |
$(Q)$(CC_TARGET) $(CC_CFLAGS) $(CFLAGS) $(CDEFS) -c -o $@ $< |
3211
a0f00b66cfad
(svn r3882) -Codechange: [OSX] changed the way universal and tripple binaries are build
bjarni
parents:
3197
diff
changeset
|
1068 |
endif |
1163
66ce158ef5ed
(svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents:
1162
diff
changeset
|
1069 |
|
2742
a85da8a7fac8
(svn r3287) Turn the winres.o: openttd.rc special case into a normal %.o: %.rc rule
tron
parents:
2736
diff
changeset
|
1070 |
%.o: %.rc |
a85da8a7fac8
(svn r3287) Turn the winres.o: openttd.rc special case into a normal %.o: %.rc rule
tron
parents:
2736
diff
changeset
|
1071 |
@echo '===> Compiling resource $<' |
a85da8a7fac8
(svn r3287) Turn the winres.o: openttd.rc special case into a normal %.o: %.rc rule
tron
parents:
2736
diff
changeset
|
1072 |
$(Q)$(WINDRES) -o $@ $< |
a85da8a7fac8
(svn r3287) Turn the winres.o: openttd.rc special case into a normal %.o: %.rc rule
tron
parents:
2736
diff
changeset
|
1073 |
|
1163
66ce158ef5ed
(svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents:
1162
diff
changeset
|
1074 |
|
66ce158ef5ed
(svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents:
1162
diff
changeset
|
1075 |
info: |
1435
16111425d676
(svn r1939) Revert part of r1938 which accidently crept in
tron
parents:
1434
diff
changeset
|
1076 |
@echo 'CFLAGS = $(CFLAGS)' |
1163
66ce158ef5ed
(svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents:
1162
diff
changeset
|
1077 |
@echo 'LDFLAGS = $(LDFLAGS)' |
66ce158ef5ed
(svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents:
1162
diff
changeset
|
1078 |
@echo 'LIBS = $(LIBS)' |
2327
69493bdce1ae
(svn r2853) Add missing dependencies and flags to the dependency targets and make the info target more informative
tron
parents:
2317
diff
changeset
|
1079 |
@echo 'CDEFS = $(CDEFS)' |