Makefile
author tron
Fri, 04 Feb 2005 17:57:07 +0000
changeset 1289 93edd9c4e1b6
parent 1288 0ade62186168
child 1291 95fbc2f47175
permissions -rw-r--r--
(svn r1793) Revert one instance of $(shell) back to ``, because MorphOS does The Wrong Thing(tm) when date is used within $(shell)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     1
# This Makefile is partially based on "a completely generic Makefile",
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     2
# originally created by Justin Husted <husted@cs>
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     3
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     4
# Rewrite and sane dependencies support by Petr Baudis <pasky@ucw.cz>
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     5
# Cygwin support and configuration by Jaen Saul <slowbyte@hot.ee>
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     6
# A lot of modifications by Bjarni Corfitzen <bjarni@openttd.com>
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     7
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     8
# Last modified by: $Author: strigeus $
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     9
# On: $Date: 2004/03/11 19:15:06 $
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    10
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    11
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    12
##############################################################################
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    13
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    14
# Usage
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    15
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    16
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    17
# Synopsis:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    18
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    19
# make WITH_ZLIB=1 UNIX=1 MANUAL_CONFIG=1
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    20
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    21
# (See below for the list of possible options.)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    22
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    23
# Alternately, you can run make without the MANUAL_CONFIG part. It then
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    24
# generates Makefile.config, where you can customize all the options.
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    25
# However beware that for all subsequent calls the option values from
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    26
# Makefile.config take precedence to the commandline options.
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    27
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    28
# (That means that you probably want to either specify the options on command
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    29
# line together with MANUAL_CONFIG=1 or you want to specify no commandline
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    30
# options at all.)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    31
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    32
# Targets:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    33
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    34
# Defaults to building binary
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    35
# clean: remove intermediate build files
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    36
# mrproper: remove intermediate files and makefile configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    37
# upgradeconf: add new options to old Makefile.config
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    38
# osx: OS X application
563
f60fe5a7d56f (svn r972) Makefile: added make release (currently only works on mac)
bjarni
parents: 561
diff changeset
    39
# release: used by OSX to make a dmg file ready to release
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    40
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    41
# Options:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    42
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    43
# Summary of OS choice defines
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    44
# WIN32: building on Windows
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    45
# UNIX: building on *nix derivate (Linux, FreeBSD)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    46
# OSX: building on Mac OS X
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    47
# MORPHOS: building on MorphOS
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
    48
# BEOS: building on BeOS
446
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
    49
# SUNOS: building on SunOS (Solaris)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    50
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    51
# Summary of library choice defines
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    52
# WITH_ZLIB: savegames using zlib
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    53
# WITH_PNG: screenshots using PNG
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    54
# WITH_SDL: SDL video driver support
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    55
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    56
# Summary of other defines:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    57
# MANUAL_CONFIG: do not use Makefile.config, config options set manually
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    58
# DEBUG: build in debug mode
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    59
# PROFILE: build in profile mode, disables -s and -fomit-frame-pointer
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    60
# TRANSLATOR: build in translator mode (untranslated strings are prepended by
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    61
#             a <TODO> mark)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    62
# RELEASE: this will be the released version number. It replaces all places
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    63
#          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
    64
# MIDI: if set, it will use it as custom path to midi player.
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    65
#  If unset, it will use the hardcoded path in the c code
804
06aaddf6742b (svn r1274) Makefile: networking is not longer experimental
bjarni
parents: 798
diff changeset
    66
# WITH_NETWORK: enable networking
06aaddf6742b (svn r1274) Makefile: networking is not longer experimental
bjarni
parents: 798
diff changeset
    67
# DEDICATED: allows compilation on UNIX without SDL. Useful for dedicated servers
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    68
#
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    69
# Paths:
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    70
# INSTALL: If not set, the game uses the directory of the binary to
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
    71
# store everything (lang, data, gm, save and openttd.cfg), this is the `old' behaviour.
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    72
# In this case, none of the following paths are used, you also should _not_
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    73
# use `make install', but copy the required stuff yourself (or just play out
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    74
# of you source directory, which should work fine).
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    75
# If you want to use `make install' to install the game globally, you should
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    76
# define it _before_ you build the game. If you only define INSTALL when you
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    77
# do `make install', the game won't be able to find it's files (so you should
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    78
# also define all the following paths before building).
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    79
#
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    80
# So, the following paths should be defined if INSTALL is defined.
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    81
# None of these paths have to end with /
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    82
# PREFIX:	Normally /usr/local
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    83
# BINARY_DIR:	The location of the binary, normally games. (Will be prefixed
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    84
#		with $PREFIX)
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
    85
# DATA_DIR: 	The location of the data (lang, data and gm), normally
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    86
#		share/games/openttd. (Will be prefixed with $PREFIX)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    87
# PERSONAL_DIR:	The directory where openttd.cfg and the save folder will be
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    88
#		stored. You cannot use ~ here, define USE_HOMEDIR for that.
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    89
# USE_HOMEDIR:	If this variable is set, PERSONAL_DIR will be prefixed with
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    90
#		~/ at runtime (the user's homedir)
561
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
    91
# SECOND_DATA_PATH  Use this data dir if a file is not found in the data dir in the data path
1251
792ada467c21 (svn r1755) Trim trailing whitespace
tron
parents: 1247
diff changeset
    92
# CUSTOM_LANG_PATH  If this is set, it will use the path given to search for lng files
561
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
    93
#		instead of the lang dir in the data path
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
    94
#   NOTE: both SECOND_DATA_PATH and CUSTOM_LANG_PATH uses paths relative to where OTTD is opened
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    95
#
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    96
# DEST_DIR:	make install will use this directory instead of the filesystem
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    97
# 		root to install its files. This should normally not be used by
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    98
# 		ordinary users, currently it is only used for the debian
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
    99
# 		packaging. This value should only be set when calling `make
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   100
# 		install' and is not saved in Makefile.config
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   101
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   102
# STATIC: link statically
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   103
# CYGWIN: build in Cygwin environment
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   104
# MINGW: build with MingW compiler, link with MingW libraries
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   105
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   106
# Experimental (does not work properly):
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   107
# WITH_DIRECTMUSIC: enable DirectMusic MIDI support
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   108
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   109
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   110
##############################################################################
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   111
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   112
# Configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   113
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   114
1148
c7925e9e1182 (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
   115
180
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   116
# Makefile version tag
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   117
# it checks if the version tag in makefile.config is the same and force update outdated config files
804
06aaddf6742b (svn r1274) Makefile: networking is not longer experimental
bjarni
parents: 798
diff changeset
   118
MAKEFILE_VERSION:=6
180
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   119
1146
320c139342d0 (svn r1647) Remove stale comment and fix typo
tron
parents: 1119
diff changeset
   120
# CONFIG_WRITER has to be found even for manual configuration
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   121
CONFIG_WRITER=makefiledir/Makefile.config_writer
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   122
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   123
ifndef MANUAL_CONFIG
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   124
# Automatic configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   125
MAKE_CONFIG:=Makefile.config
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   126
MAKEFILE:=Makefile
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   127
LIB_DETECTION=makefiledir/Makefile.libdetection
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   128
CONFIG_WRITER=makefiledir/Makefile.config_writer
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   129
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   130
# Apply automatic configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   131
# See target section for how this is built, suppress errors
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   132
# since first time it isn't found but make reads this twice
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   133
-include $(MAKE_CONFIG)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   134
else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   135
CONFIG_INCLUDED:=1
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   136
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   137
180
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   138
# updates makefile.config if it's outdated
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   139
ifneq ($(MAKEFILE_VERSION),$(CONFIG_VERSION))
189
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   140
	ifndef MANUAL_CONFIG	# manual config should not check this
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   141
		UPDATECONFIG:=upgradeconf
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   142
		CONFIG_INCLUDED:=
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   143
	else
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   144
		# this should define SDL-CONFIG for manual configuration
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   145
		ifeq ($(shell uname),FreeBSD)
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   146
			SDL-CONFIG:=sdl11-config
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   147
		else
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   148
			SDL-CONFIG:=sdl-config
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   149
		endif
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   150
	endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   151
else
189
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   152
	# this should define SDL-CONFIG for manual configuration
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   153
	ifeq ($(shell uname),FreeBSD)
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   154
		SDL-CONFIG:=sdl11-config
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   155
	else
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   156
		SDL-CONFIG:=sdl-config
4d133909845a (svn r190) Makefile: fixed bug, that prevented compilation with MANUAL_CONFIG enabled
bjarni
parents: 180
diff changeset
   157
	endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   158
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   159
219
adfdf7fad721 (svn r220) Makefile: enables ENABLE_NETWORK by default if no config file is present
bjarni
parents: 189
diff changeset
   160
# this is used if there aren't any makefile.config
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   161
ifndef CONFIG_INCLUDED
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   162
# sets network on by default if there aren't any config file
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
   163
ENABLE_NETWORK:=1
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   164
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   165
# paths for make install
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   166
# disabled as they would break it for some (many?) people if they were default
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   167
#PREFIX:=/usr/local
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   168
#DATA_DIR:=share/games/openttd
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   169
#BINARY_DIR:=games
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   170
#PERSONAL_DIR:=.openttd
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   171
#USE_HOMEDIR:=1
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   172
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   173
-include $(LIB_DETECTION)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   174
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   175
180
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   176
ifdef SUPRESS_LANG_ERRORS
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   177
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
   178
endif
47ee14fe2b35 (svn r181) Makefile: enabled ability to supress output of missing strings in lng files
bjarni
parents: 164
diff changeset
   179
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   180
ifdef STATIC
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   181
ifndef WIN32
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   182
ifndef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   183
ifndef MORPHOS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   184
ifndef SKIP_STATIC_CHECK
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   185
$(error Static is only known to work on MorphOS and MacOSX!!! --- Check makefile.config for more info and howto bypass this check)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   186
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   187
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   188
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   189
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   190
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   191
580
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   192
ifdef RELEASE
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   193
ifdef OSX
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   194
ifndef STATIC
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   195
$(error do not make dynamically linked releases. Most users can't use those)
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   196
endif
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   197
endif
be080525ea08 (svn r1000) Makefile: added check for static build releases on mac. Most users can't use a dynamic build
bjarni
parents: 574
diff changeset
   198
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   199
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   200
# Force SDL on UNIX platforms
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   201
ifndef WITH_SDL
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   202
ifdef UNIX
549
004bcc2b1033 (svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents: 543
diff changeset
   203
ifndef DEDICATED
004bcc2b1033 (svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents: 543
diff changeset
   204
$(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
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   205
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   206
endif
549
004bcc2b1033 (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
endif
004bcc2b1033 (svn r949) Makefile: added DEDICATED flag to allow complilation of dedicated servers without linking to SDL. Request by Jezral
bjarni
parents: 543
diff changeset
   208
1029
c6bbfed6fc26 (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
# remove the dependancy for sdl if DEDICALTED is used
c6bbfed6fc26 (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
   210
ifdef DEDICATED
c6bbfed6fc26 (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
   211
WITH_SDL:=
c6bbfed6fc26 (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
   212
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   213
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   214
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   215
##############################################################################
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   216
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   217
# Compiler configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   218
#
1288
0ade62186168 (svn r1792) Revert r1761 and set fallback values via ?= for CC and CXX as there seem to be platforms (MorphOS) out there which don't provide some proper defaults.
tron
parents: 1276
diff changeset
   219
CC  ?= gcc
0ade62186168 (svn r1792) Revert r1761 and set fallback values via ?= for CC and CXX as there seem to be platforms (MorphOS) out there which don't provide some proper defaults.
tron
parents: 1276
diff changeset
   220
CXX ?= g++
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   221
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   222
# Executable file extension
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   223
ifdef WIN32
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   224
EXE=.exe
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   225
else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   226
EXE=
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   227
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   228
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   229
# Set output executable names
32
bc861ea6d23b (svn r33) -Executeable is now openttd(.exe) always
darkvater
parents: 0
diff changeset
   230
TTD=openttd$(EXE)
157
dd017fa3bad8 (svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents: 126
diff changeset
   231
ENDIAN_CHECK=endian_check$(EXE)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   232
STRGEN=strgen/strgen$(EXE)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   233
OSXAPP="OpenTTD.app"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   234
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   235
# What revision are we compiling, if we have an idea?
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   236
REV_NUMBER := $(shell if test -d .svn; then svnversion . | tr -dc 0-9; fi)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   237
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   238
ifdef RELEASE
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   239
REV:=$(RELEASE)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   240
else
450
c5102d6f280e (svn r660) Fix typo introduced in r655
tron
parents: 446
diff changeset
   241
REV := $(shell if test -d .svn; then svnversion . | awk '{ print "r"$$0 }'; fi)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   242
tmp_test:=$(shell echo "$(REV)" | grep "M" )
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   243
ifdef tmp_test
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   244
REV_NUMBER:=1
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   245
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   246
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   247
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   248
ifndef REV_NUMBER
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   249
REV_NUMBER:=0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   250
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   251
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   252
# MorphOS needs builddate
1289
93edd9c4e1b6 (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
   253
BUILDDATE=`date +%d.%m.%y`
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   254
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   255
# AMD64 needs a little more settings to work
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   256
ifeq ($(shell uname -m), x86_64)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   257
endwarnings:=endwarnings
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   258
64_bit_warnings:=64_bit_warnings
157
dd017fa3bad8 (svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents: 126
diff changeset
   259
BASECFLAGS += -m64
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   260
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   261
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   262
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   263
# When calling the compiler, use these flags
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   264
# -g	debugging symbols
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   265
# -Wall	all warnings
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   266
# -s    automatic strip
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   267
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   268
# You may also want:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   269
# -O	optimize or -O2 fully optimize (O's above 2 are not recommended)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   270
# -pg	profile - generate profiling data.  See "man gprof" to use this.
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   271
1069
922f5c7be173 (svn r1570) Make the gcc version test work with old versions of test (i.e. don't use the < operator)
tron
parents: 1052
diff changeset
   272
CC_VERSION = $(shell $(CC) -dumpversion | cut -c 1,3)
1052
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   273
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   274
# GNU make can only test for (in)equality
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   275
# this is a workaround to test for >=
1069
922f5c7be173 (svn r1570) Make the gcc version test work with old versions of test (i.e. don't use the < operator)
tron
parents: 1052
diff changeset
   276
ifeq ($(shell if test $(CC_VERSION) -ge 29; then echo true; fi), true)
1093
e8d26c7dc42f (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile
tron
parents: 1069
diff changeset
   277
  CFLAGS += -O -Wall -Wno-multichar -Wsign-compare -Wstrict-prototypes
1115
36d85d14d44b (svn r1616) Introduce ttd_strlcat() and use it to de-uglify some piece of code in misc_cmd.
tron
parents: 1099
diff changeset
   278
  CFLAGS += -Wwrite-strings
1052
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   279
endif
1069
922f5c7be173 (svn r1570) Make the gcc version test work with old versions of test (i.e. don't use the < operator)
tron
parents: 1052
diff changeset
   280
ifeq ($(shell if test $(CC_VERSION) -ge 30; then echo true; fi), true)
1052
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   281
  CFLAGS += -W -Wno-unused-parameter
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   282
endif
1069
922f5c7be173 (svn r1570) Make the gcc version test work with old versions of test (i.e. don't use the < operator)
tron
parents: 1052
diff changeset
   283
ifeq ($(shell if test $(CC_VERSION) -ge 34; then echo true; fi), true)
1093
e8d26c7dc42f (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile
tron
parents: 1069
diff changeset
   284
  CFLAGS += -Wdeclaration-after-statement -Wold-style-definition
1052
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   285
endif
53e669371277 (svn r1553) Check which gcc version is present and only set availible compiler flags
tron
parents: 1051
diff changeset
   286
1240
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   287
ifdef DEBUG
1241
2b2b0079405e (svn r1745) Use -fno-inline when DEBUGing
tron
parents: 1240
diff changeset
   288
  CFLAGS += -g -fno-inline -D_DEBUG
1240
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   289
endif
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   290
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   291
ifdef PROFILE
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   292
  CFLAGS += -pg
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   293
  LDFLAGS += -pg
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   294
endif
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   295
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   296
CDEFS=-DWITH_REV
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   297
1240
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   298
ifndef DEBUG
90b225e69c23 (svn r1744) DEBUG and PROFILE can be used at the same time.
tron
parents: 1211
diff changeset
   299
ifndef PROFILE
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   300
# Release mode
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   301
ifndef MORPHOS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   302
# automatical strip breaks under morphos
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   303
BASECFLAGS += -s
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   304
LDFLAGS += -s
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   305
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   306
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   307
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   308
ifdef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   309
# these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer
1169
30e8657f61d0 (svn r1671) Remove WARNING_DISPLAY, because it contained no warning, but an optimization flag
tron
parents: 1168
diff changeset
   310
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 -mpowerpc-gpopt -force_cpusubtype_ALL
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   311
else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   312
ifdef MORPHOS
1169
30e8657f61d0 (svn r1671) Remove WARNING_DISPLAY, because it contained no warning, but an optimization flag
tron
parents: 1168
diff changeset
   313
BASECFLAGS += -O3 -funroll-loops -fexpensive-optimizations -mstring -mmultiple
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   314
else
1169
30e8657f61d0 (svn r1671) Remove WARNING_DISPLAY, because it contained no warning, but an optimization flag
tron
parents: 1168
diff changeset
   315
BASECFLAGS += -O2
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   316
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   317
ifndef PROFILE
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   318
BASECFLAGS += -fomit-frame-pointer
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   319
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   320
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   321
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   322
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   323
ifdef STATIC
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   324
ifndef OSX	# OSX can't build static if -static flag is used
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   325
LDFLAGS += -static
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   326
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   327
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   328
798
6b5518bf858f (svn r1268) -Fix: some warnings in gfx.c fixed
darkvater
parents: 770
diff changeset
   329
# If building on MingW don't link with Cygwin libs
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   330
ifdef WIN32
798
6b5518bf858f (svn r1268) -Fix: some warnings in gfx.c fixed
darkvater
parents: 770
diff changeset
   331
ifdef CYGWIN
6b5518bf858f (svn r1268) -Fix: some warnings in gfx.c fixed
darkvater
parents: 770
diff changeset
   332
BASECFLAGS += -mwin32
6b5518bf858f (svn r1268) -Fix: some warnings in gfx.c fixed
darkvater
parents: 770
diff changeset
   333
LDFLAGS += -mwin32
6b5518bf858f (svn r1268) -Fix: some warnings in gfx.c fixed
darkvater
parents: 770
diff changeset
   334
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   335
ifdef MINGW
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   336
BASECFLAGS += -mno-cygwin
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   337
LDFLAGS += -mno-cygwin
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   338
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   339
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   340
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   341
CFLAGS += $(BASECFLAGS)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   342
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   343
ifdef UNIX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   344
CDEFS += -DUNIX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   345
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   346
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   347
ifdef BEOS
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   348
CDEFS += -DBEOS
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   349
LDFLAGS += -lmidi -lbe
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   350
ifdef WITH_NETWORK
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   351
	ifdef BEOS_NET_SERVER
1051
c56a3ce9b64f (svn r1552) Make ottd compile on Zeta
tron
parents: 1029
diff changeset
   352
		CDEFS += -DBEOS_NET_SERVER
c56a3ce9b64f (svn r1552) Make ottd compile on Zeta
tron
parents: 1029
diff changeset
   353
	else
c56a3ce9b64f (svn r1552) Make ottd compile on Zeta
tron
parents: 1029
diff changeset
   354
		# Zeta needs a few more libraries than R5
c56a3ce9b64f (svn r1552) Make ottd compile on Zeta
tron
parents: 1029
diff changeset
   355
		LDFLAGS += -lbind -lsocket
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   356
	endif
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   357
endif
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   358
endif
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   359
1164
01c12c2f1973 (svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents: 1163
diff changeset
   360
ifdef MORPHOS
01c12c2f1973 (svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents: 1163
diff changeset
   361
CFLAGS += -noixemul -pipe
01c12c2f1973 (svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents: 1163
diff changeset
   362
endif
01c12c2f1973 (svn r1666) Move some MorphOS compile flags to a place where they actually belong
tron
parents: 1163
diff changeset
   363
446
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   364
ifdef SUNOS
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   365
CDEFS += -DSUNOS
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   366
ifdef WITH_NETWORK
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   367
LDFLAGS += -lnsl -lsocket
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   368
endif
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   369
endif
20304ea8e94e (svn r655) Add the necessary bits to make building on SunOS/Solaris work
tron
parents: 421
diff changeset
   370
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   371
# SDL config
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   372
ifdef WITH_SDL
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   373
CDEFS += -DWITH_SDL
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   374
CFLAGS += $(shell $(SDL-CONFIG) --cflags)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   375
ifdef STATIC
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   376
LIBS += $(shell $(SDL-CONFIG) --static-libs)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   377
else
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   378
LIBS += $(shell $(SDL-CONFIG) --libs)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   379
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   380
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   381
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   382
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   383
# zlib config
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   384
ifdef WITH_ZLIB
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   385
	CDEFS +=  -DWITH_ZLIB
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   386
	ifdef STATIC
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   387
		ifdef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   388
# zlib is default on OSX, so everybody have it. No need for static linking
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   389
			LIBS += -lz
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   390
		else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   391
			ifndef STATIC_ZLIB_PATH
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   392
				ifndef MANUAL_CONFIG
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   393
					# updates makefile.config with the zlib path
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   394
					UPDATECONFIG:=upgradeconf
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   395
				endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   396
				TEMP:=$(shell ls /lib 2>/dev/null | grep "zlib.a")$(shell ls /lib 2>/dev/null | grep "libz.a")
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   397
				ifdef TEMP
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   398
					STATIC_ZLIB_PATH:=/lib/$(TEMP)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   399
				else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   400
					TEMP:=$(shell ls /usr/lib 2>/dev/null | grep "zlib.a")$(shell ls /usr/lib 2>/dev/null | grep "libz.a")
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   401
					ifdef TEMP
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   402
						STATIC_ZLIB_PATH:=/usr/lib/$(TEMP)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   403
					else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   404
						TEMP:=$(shell ls /usr/local/lib 2>/dev/null | grep "zlib.a")$(shell ls /usr/local/lib 2>/dev/null | grep "libz.a")
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   405
						ifdef TEMP
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   406
							STATIC_ZLIB_PATH:=/usr/local/lib/$(TEMP)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   407
						endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   408
					endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   409
				endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   410
			endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   411
			LIBS += $(STATIC_ZLIB_PATH)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   412
		endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   413
	else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   414
		LIBS += -lz
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   415
	endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   416
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   417
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   418
# libpng config
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   419
ifdef WITH_PNG
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   420
CDEFS += -DWITH_PNG
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   421
# FreeBSD doesn't use libpng-config
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   422
ifdef FREEBSD
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   423
LIBS += -lpng
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   424
else
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   425
CFLAGS += $(shell libpng-config --cflags)
551
48dc69ef0e94 (svn r951) Makefile: fixed missing flag for libpng, which prevented lib detection if SDL was not used
bjarni
parents: 549
diff changeset
   426
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   427
# seems like older libpng versions are broken and need this
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   428
PNGCONFIG_FLAGS = --ldflags --libs
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   429
ifdef STATIC
583
3bcdf7a0c2f7 (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
   430
ifdef OSX
3bcdf7a0c2f7 (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
   431
# Seems like we need a tiny hack for OSX static to work
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   432
LIBS += $(shell libpng-config --prefix)/lib/libpng.a
583
3bcdf7a0c2f7 (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
   433
else
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   434
LIBS += $(shell libpng-config --static $(PNGCONFIG_FLAGS))
583
3bcdf7a0c2f7 (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
   435
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   436
else
1254
c3705f146d8a (svn r1758) Replace `` with $(shell), because the latter is only evaluated once instead of over and over again
tron
parents: 1251
diff changeset
   437
LIBS += $(shell libpng-config  --L_opts $(PNGCONFIG_FLAGS))
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   438
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   439
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   440
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   441
347
892935295937 (svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents: 285
diff changeset
   442
# enables/disables assert()
348
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   443
ifdef DISABLE_ASSERTS
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   444
CFLAGS += -DNDEBUG
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   445
endif
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   446
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   447
# automatically disables asserts for release
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   448
ifdef RELEASE
347
892935295937 (svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents: 285
diff changeset
   449
ifndef ENABLE_ASSERTS
892935295937 (svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents: 285
diff changeset
   450
CFLAGS += -DNDEBUG
892935295937 (svn r530) Makefile: added ability to switch asserts on and off
bjarni
parents: 285
diff changeset
   451
endif
348
959f425dc282 (svn r531) Makefile: made asserts enabled by default
bjarni
parents: 347
diff changeset
   452
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   453
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   454
ifdef TRANSLATOR
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   455
STRGEN_FLAGS=-t
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   456
else
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   457
STRGEN_FLAGS=
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   458
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   459
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   460
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   461
# MIDI setup
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   462
ifdef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   463
ifndef MIDI
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   464
MIDI:=$(OSXAPP)/contents/macos/track_starter
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   465
endif
561
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   466
ifndef SECOND_DATA_PATH
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   467
SECOND_DATA_PATH:="$(OSXAPP)/contents/data/"
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   468
endif
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   469
ifndef CUSTOM_LANG_DIR
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   470
CUSTOM_LANG_DIR:="$(OSXAPP)/contents/lang/"
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   471
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   472
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   473
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   474
ifdef MIDI
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   475
CDEFS += -DEXTERNAL_PLAYER=\"$(MIDI)\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   476
ifdef MIDI_ARG
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   477
CDEFS += -DMIDI_ARG=\"$(MIDI_ARG)\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   478
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   479
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   480
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   481
ifdef WITH_NETWORK
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   482
CDEFS += -DENABLE_NETWORK
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
   483
ifdef QNX
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
   484
LIBS += -lsocket
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
   485
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   486
ifdef UNIX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   487
ifndef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   488
ifndef MORPHOS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   489
# this have caused problems on many platforms and disabling it didn't break anything
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   490
# now we test if disabling it as a general breaks it for anybody
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   491
#LIBS += -lresolv
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   492
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   493
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   494
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   495
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   496
561
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   497
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   498
ifdef SECOND_DATA_PATH
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   499
CDEFS += -DSECOND_DATA_DIR=\"$(SECOND_DATA_PATH)/\"
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   500
endif
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   501
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   502
ifdef CUSTOM_LANG_DIR
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   503
CDEFS += -DCUSTOM_LANG_DIR=\"$(CUSTOM_LANG_DIR)/\"
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   504
endif
e3b9689745ab (svn r970) Added 2nd data path for all non-windows OSes
bjarni
parents: 551
diff changeset
   505
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   506
ifdef WITH_DIRECTMUSIC
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   507
CDEFS += -DWIN32_ENABLE_DIRECTMUSIC_SUPPORT
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   508
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   509
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   510
ifdef WIN32
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   511
LIBS += -lws2_32 -lwinmm -lgdi32 -ldxguid -lole32 -lstdc++
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   512
TTDLDFLAGS += -Wl,--subsystem,windows
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   513
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   514
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   515
# sets up the paths for use for make install
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   516
ifdef INSTALL
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   517
# We use _PREFIXED vars here, so the paths are recalculated every time, and
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   518
# the prefix is not prepended in the makefile config
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   519
BINARY_DIR_PREFIXED:=$(PREFIX)/$(BINARY_DIR)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   520
DATA_DIR_PREFIXED:=$(PREFIX)/$(DATA_DIR)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   521
# We use _INSTALL vars here, these vars are the locations where the files will
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   522
# be installed
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   523
DATA_DIR_INSTALL=$(DEST_DIR)/$(DATA_DIR_PREFIXED)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   524
BINARY_DIR_INSTALL=$(DEST_DIR)/$(BINARY_DIR_PREFIXED)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   525
# Let the code know where to find stuff
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   526
ifdef DATA_DIR_PREFIXED
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   527
CDEFS += -DGAME_DATA_DIR=\"$(DATA_DIR_PREFIXED)/\"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   528
endif
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   529
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   530
ifdef PERSONAL_DIR
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   531
CDEFS += -DPERSONAL_DIR=\"$(PERSONAL_DIR)/\"
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   532
endif
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   533
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   534
ifdef USE_HOMEDIR
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   535
CDEFS += -DUSE_HOMEDIR
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   536
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   537
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   538
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   539
##############################################################################
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   540
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   541
# What to compile
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   542
# (users do not want to modify anything below)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   543
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   544
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   545
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   546
### Sources
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   547
677
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   548
C_SOURCES += ai.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   549
C_SOURCES += ai_build.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   550
C_SOURCES += ai_new.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   551
C_SOURCES += ai_pathfinder.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   552
C_SOURCES += ai_shared.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   553
C_SOURCES += aircraft_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   554
C_SOURCES += aircraft_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   555
C_SOURCES += airport.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   556
C_SOURCES += airport_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   557
C_SOURCES += aystar.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   558
C_SOURCES += bridge_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   559
C_SOURCES += callback_table.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   560
C_SOURCES += clear_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   561
C_SOURCES += command.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   562
C_SOURCES += console.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   563
C_SOURCES += console_cmds.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   564
C_SOURCES += dedicated.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   565
C_SOURCES += disaster_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   566
C_SOURCES += dock_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   567
C_SOURCES += dummy_land.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   568
C_SOURCES += economy.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   569
C_SOURCES += engine.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   570
C_SOURCES += engine_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   571
C_SOURCES += fileio.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   572
C_SOURCES += gfx.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   573
C_SOURCES += graph_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   574
C_SOURCES += newgrf.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   575
C_SOURCES += industry_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   576
C_SOURCES += industry_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   577
C_SOURCES += intro_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   578
C_SOURCES += landscape.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   579
C_SOURCES += main_gui.c
679
e959706a3e4d (svn r1117) Move map arrays and some related macros into their own files map.c and map.h
tron
parents: 677
diff changeset
   580
C_SOURCES += map.c
677
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   581
C_SOURCES += md5.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   582
C_SOURCES += minilzo.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   583
C_SOURCES += misc.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   584
C_SOURCES += misc_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   585
C_SOURCES += misc_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   586
C_SOURCES += music_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   587
C_SOURCES += namegen.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   588
C_SOURCES += network.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   589
C_SOURCES += network_client.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   590
C_SOURCES += network_data.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   591
C_SOURCES += network_gamelist.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   592
C_SOURCES += network_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   593
C_SOURCES += network_server.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   594
C_SOURCES += network_udp.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   595
C_SOURCES += news_gui.c
1247
01711347f9ac (svn r1751) - Feature: New PathFinder (NPF).
matthijs
parents: 1241
diff changeset
   596
C_SOURCES += npf.c
677
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   597
C_SOURCES += oldloader.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   598
C_SOURCES += order_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   599
C_SOURCES += order_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   600
C_SOURCES += pathfind.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   601
C_SOURCES += player_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   602
C_SOURCES += players.c
1259
6dc9a1521c00 (svn r1763) -Add: pool.c / pool.h: generalized routines for dynamic arrays (MemoryPools)
truelight
parents: 1257
diff changeset
   603
C_SOURCES += pool.c
677
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   604
C_SOURCES += queue.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   605
C_SOURCES += rail_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   606
C_SOURCES += rail_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   607
C_SOURCES += rev.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   608
C_SOURCES += road_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   609
C_SOURCES += road_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   610
C_SOURCES += roadveh_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   611
C_SOURCES += roadveh_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   612
C_SOURCES += saveload.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   613
C_SOURCES += screenshot.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   614
C_SOURCES += settings.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   615
C_SOURCES += settings_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   616
C_SOURCES += ship_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   617
C_SOURCES += ship_gui.c
988
2482369a61ff (svn r1486) -Codechange: moved all 'signs' stuff to signs.c/h and prepared it for
truelight
parents: 978
diff changeset
   618
C_SOURCES += signs.c
677
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   619
C_SOURCES += smallmap_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   620
C_SOURCES += sound.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   621
C_SOURCES += sprite.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   622
C_SOURCES += spritecache.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   623
C_SOURCES += station_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   624
C_SOURCES += station_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   625
C_SOURCES += strings.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   626
C_SOURCES += subsidy_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   627
C_SOURCES += terraform_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   628
C_SOURCES += texteff.c
1211
6f2f723e5c36 (svn r1715) Move [GS]etMapExtraBits to tile.[ch]
tron
parents: 1170
diff changeset
   629
C_SOURCES += tile.c
677
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   630
C_SOURCES += town_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   631
C_SOURCES += town_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   632
C_SOURCES += train_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   633
C_SOURCES += train_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   634
C_SOURCES += tree_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   635
C_SOURCES += ttd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   636
C_SOURCES += tunnelbridge_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   637
C_SOURCES += unmovable_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   638
C_SOURCES += vehicle.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   639
C_SOURCES += vehicle_gui.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   640
C_SOURCES += viewport.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   641
C_SOURCES += water_cmd.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   642
C_SOURCES += widget.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   643
C_SOURCES += window.c
90346642763a (svn r1115) Put every source file on an extra line
tron
parents: 615
diff changeset
   644
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   645
CXX_SOURCES =
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   646
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   647
ifdef WITH_SDL
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   648
C_SOURCES += sdl.c
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   649
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   650
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   651
ifdef WIN32
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   652
C_SOURCES += win32.c w32dm.c
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   653
else
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   654
C_SOURCES += extmidi.c unix.c
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   655
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   656
1167
d8b7601118cf (svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (;
tron
parents: 1164
diff changeset
   657
OBJS = $(C_SOURCES:%.c=%.o) $(CXX_SOURCES:%.cpp=%.o)
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   658
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   659
ifdef BEOS
532
84e504f4f6d1 (svn r877) Moved bemidi.cpp correctly this time
bjarni
parents: 531
diff changeset
   660
CXX_SOURCES += os/beos/bemidi.cpp
84e504f4f6d1 (svn r877) Moved bemidi.cpp correctly this time
bjarni
parents: 531
diff changeset
   661
CFLAGS += -I.
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   662
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   663
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   664
ifdef WIN32
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   665
# Resource file
1167
d8b7601118cf (svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (;
tron
parents: 1164
diff changeset
   666
OBJS += winres.o
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   667
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   668
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   669
ifdef WITH_DIRECTMUSIC
421
0b9bdcdfe0c5 (svn r619) Add the necessary bits to make building under BeOS using GNU Make work
tron
parents: 413
diff changeset
   670
CXX_SOURCES += w32dm2.cpp
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   671
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   672
1170
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   673
DEPS = $(OBJS:%.o=.deps/%.d)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   674
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   675
LANG_TXT = $(filter-out %.unfinished.txt,$(wildcard lang/*.txt))
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   676
LANGS = $(LANG_TXT:%.txt=%.lng)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   677
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
   678
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   679
##############################################################################
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   680
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   681
# Targets
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   682
#
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   683
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   684
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   685
### Normal build rules
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   686
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   687
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   688
ifdef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   689
OSX:=OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   690
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   691
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   692
475
d9b87f0ffdb4 (svn r726) The OpenTTD binary doesn't depend on the language files, so move this dependency to the all target
tron
parents: 474
diff changeset
   693
all: endian.h $(UPDATECONFIG) $(LANGS) $(TTD) $(OSX) $(endwarnings)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   694
157
dd017fa3bad8 (svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents: 126
diff changeset
   695
endian.h: $(ENDIAN_CHECK)
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   696
	@echo '===> Testing endianness'
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   697
	@./$(ENDIAN_CHECK) > $@
157
dd017fa3bad8 (svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents: 126
diff changeset
   698
dd017fa3bad8 (svn r158) -Fix: make endianess check 100% accurate (hopefully ;))
truelight
parents: 126
diff changeset
   699
$(ENDIAN_CHECK): endian_check.c
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   700
	@echo '===> Compiling and Linking $@'
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   701
	@$(CC) $(BASECFLAGS) $(CDEFS) endian_check.c -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
   702
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   703
1167
d8b7601118cf (svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (;
tron
parents: 1164
diff changeset
   704
$(TTD): table/strings.h $(OBJS) $(MAKE_CONFIG)
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   705
	@echo '===> Linking $@'
1168
f7af0e482df0 (svn r1670) Garbage collect some variables, because they are only used once and hide magic, like containing -o where a filename must be the next parameter
tron
parents: 1167
diff changeset
   706
	@$(CC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS) $(LIBS) -o $@
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   707
728
c8728c17f505 (svn r1180) Makefile: fixed dependancies so the flag -j can be used. It makes the compilation process into more than one job which makes it able to benefit from multiple CPUs. Using -j without setting a limit of jobs (like -j2) is not a great idea (thanks to ln-- for reporting the need for this one)
bjarni
parents: 679
diff changeset
   708
$(OSX): $(TTD)
610
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   709
	@rm -fr "$(OSXAPP)"
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   710
	@mkdir -p "$(OSXAPP)"/Contents/MacOS
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   711
	@mkdir -p "$(OSXAPP)"/Contents/Resources
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   712
	@mkdir -p "$(OSXAPP)"/Contents/Data
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   713
	@mkdir -p "$(OSXAPP)"/Contents/Lang
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   714
	@echo "APPL????" > "$(OSXAPP)"/Contents/PkgInfo
1099
0b4f24a38642 (svn r1600) Mac: applied the new icon to the mac binary file
bjarni
parents: 1093
diff changeset
   715
	@cp os/macos/openttd.icns "$(OSXAPP)"/Contents/Resources/openttd.icns
610
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   716
	@os/macos/plistgen.sh "$(OSXAPP)" "$(REV)"
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   717
	@cp os/macos/track_starter "$(OSXAPP)"/contents/macos
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   718
	@ls os/macos | grep -q "\.class" || \
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   719
	javac os/macos/OpenTTDMidi.java
610
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   720
	@cp os/macos/OpenTTDMidi.class "$(OSXAPP)"/contents/macos
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   721
	@cp data/* "$(OSXAPP)"/Contents/data/
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   722
	@cp lang/*.lng "$(OSXAPP)"/Contents/lang/
e70910461431 (svn r1034) Makefile: fixed issue where it would not compile if RELEASE string contained space. Did the same fix to OSXAPP, just in case it's changed to something containing space at a later date
bjarni
parents: 602
diff changeset
   723
	@cp $(TTD) "$(OSXAPP)"/Contents/MacOS/$(TTD)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   724
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   725
$(endwarnings): $(64_bit_warnings)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   726
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   727
$(64_bit_warnings):
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   728
	$(warning 64 bit CPUs will get some 64 bit specific bugs!)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   729
	$(warning If you see any bugs, include in your bug report that you use a 64 bit CPU)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   730
728
c8728c17f505 (svn r1180) Makefile: fixed dependancies so the flag -j can be used. It makes the compilation process into more than one job which makes it able to benefit from multiple CPUs. Using -j without setting a limit of jobs (like -j2) is not a great idea (thanks to ln-- for reporting the need for this one)
bjarni
parents: 679
diff changeset
   731
$(STRGEN): strgen/strgen.c endian.h
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   732
	@echo '===> Compiling and Linking $@'
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   733
	@$(CC) $(BASECFLAGS) $(CDEFS) -o $@ $<
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   734
474
75f8c36e36ba (svn r725) Fix language file dependencies
tron
parents: 462
diff changeset
   735
table/strings.h: lang/english.txt $(STRGEN)
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   736
	@echo '===> Generating $@'
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   737
	@$(STRGEN)
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
   738
476
ad012336ed61 (svn r727) The langauge files depend on english.txt, not strings.h
tron
parents: 475
diff changeset
   739
lang/%.lng: lang/%.txt $(STRGEN) lang/english.txt
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   740
	@echo '===> Compiling language $(*F)'
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   741
	@$(STRGEN) $(STRGEN_FLAGS) $< $(LANG_ERRORS)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   742
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   743
winres.o: ttd.rc
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   744
	@echo '===> Compiling resource $<'
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   745
	@windres -o $@ $<
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   746
770
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   747
ifdef MORPHOS
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   748
release: all
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   749
	@rm -fr "/t/openttd-$(RELEASE)-morphos.lha"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   750
	@mkdir -p "/t/"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   751
	@mkdir -p "/t/openttd-$(RELEASE)-morphos"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   752
	@mkdir -p "/t/openttd-$(RELEASE)-morphos/docs"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   753
	@mkdir -p "/t/openttd-$(RELEASE)-morphos/data"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   754
	@mkdir -p "/t/openttd-$(RELEASE)-morphos/lang"
1158
3478ebfecfe1 (svn r1659) Makefile: added scenario to mac and MorphOS release scripts
bjarni
parents: 1148
diff changeset
   755
	@mkdir -p "/t/openttd-$(RELEASE)-morphos/scenario"
770
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   756
	@cp -R $(TTD)                      "/t/openttd-$(RELEASE)-morphos/"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   757
	@cp data/*                         "/t/openttd-$(RELEASE)-morphos/data/"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   758
	@cp lang/*.lng                     "/t/openttd-$(RELEASE)-morphos/lang/"
1158
3478ebfecfe1 (svn r1659) Makefile: added scenario to mac and MorphOS release scripts
bjarni
parents: 1148
diff changeset
   759
	@cp scenario/*                     "/t/openttd-$(RELEASE)-morphos/scenario/"
770
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   760
	@cp readme.txt                     "/t/openttd-$(RELEASE)-morphos/docs/ReadMe"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   761
	@cp docs/console.txt               "/t/openttd-$(RELEASE)-morphos/docs/Console"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   762
	@cp COPYING                        "/t/openttd-$(RELEASE)-morphos/docs/"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   763
	@cp changelog.txt                  "/t/openttd-$(RELEASE)-morphos/docs/ChangeLog"
1148
c7925e9e1182 (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
   764
	@cp known-bugs.txt				   "/t/openttd-$(RELEASE)-morphos/docs/known-bugs.txt"
770
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   765
	@cp os/morphos/icons/openttd.info  "/t/openttd-$(RELEASE)-morphos/$(TTD).info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   766
	@cp os/morphos/icons/docs.info     "/t/openttd-$(RELEASE)-morphos/docs.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   767
	@cp os/morphos/icons/drawer.info   "/t/openttd-$(RELEASE)-morphos.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   768
	@cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/ReadMe.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   769
	@cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/Console.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   770
	@cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/COPYING.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   771
	@cp os/morphos/icons/document.info "/t/openttd-$(RELEASE)-morphos/docs/ChangeLog.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   772
	@strip --strip-all --strip-unneeded --remove-section .comment "/t/openttd-$(RELEASE)-morphos/$(TTD)"
1251
792ada467c21 (svn r1755) Trim trailing whitespace
tron
parents: 1247
diff changeset
   773
	@lha a -r "t:openttd-$(RELEASE)-morphos.lha" "t:openttd-$(RELEASE)-morphos"
770
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   774
	@lha a    "t:openttd-$(RELEASE)-morphos.lha" "t:openttd-$(RELEASE)-morphos.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   775
	@rm -fr "/t/openttd-$(RELEASE)-morphos"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   776
	@rm -fr "/t/openttd-$(RELEASE)-morphos.info"
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   777
	@echo "Release archive can be found in RAM:t/ now."
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   778
1251
792ada467c21 (svn r1755) Trim trailing whitespace
tron
parents: 1247
diff changeset
   779
.PHONY: release
770
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   780
endif
89dab23f04ca (svn r1236) MorphOS: added make release like in OSX (tokai)
bjarni
parents: 730
diff changeset
   781
563
f60fe5a7d56f (svn r972) Makefile: added make release (currently only works on mac)
bjarni
parents: 561
diff changeset
   782
ifdef OSX
f60fe5a7d56f (svn r972) Makefile: added make release (currently only works on mac)
bjarni
parents: 561
diff changeset
   783
release: all
565
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   784
	@mkdir -p "OpenTTD $(RELEASE)"
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   785
	@mkdir -p "OpenTTD $(RELEASE)"/docs
1158
3478ebfecfe1 (svn r1659) Makefile: added scenario to mac and MorphOS release scripts
bjarni
parents: 1148
diff changeset
   786
	@mkdir -p "OpenTTD $(RELEASE)"/scenario
565
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   787
	@cp -R $(OSXAPP) "OpenTTD $(RELEASE)"/
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   788
	@cp docs/OSX_where_did_the_package_go.txt "OpenTTD $(RELEASE)"/Where\ did\ the\ package\ go.txt
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   789
	@cp readme.txt "OpenTTD $(RELEASE)"/docs/
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   790
	@cp docs/README_if_game_crashed_on_OSX.txt "OpenTTD $(RELEASE)"/docs/readme\ if\ crashed\ on\ OSX.txt
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   791
	@cp docs/console.txt "OpenTTD $(RELEASE)"/docs/
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   792
	@cp COPYING "OpenTTD $(RELEASE)"/docs/
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   793
	@cp changelog.txt "OpenTTD $(RELEASE)"/docs/
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   794
	@cp docs/README_if_game_crashed_on_OSX.txt "OpenTTD $(RELEASE)"/docs/
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   795
	@cp os/macos/*.webloc "OpenTTD $(RELEASE)"
1148
c7925e9e1182 (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
   796
	@cp known-bugs.txt "OpenTTD $(RELEASE)"/known-bugs.txt
1158
3478ebfecfe1 (svn r1659) Makefile: added scenario to mac and MorphOS release scripts
bjarni
parents: 1148
diff changeset
   797
	@cp scenario/* "OpenTTD $(RELEASE)"/scenario/
590
1033437d21ef (svn r1011) Makefile, mac: added absolute path to hdiutil (default location) to fix the path issues when building nightly builds with a cronjob
bjarni
parents: 589
diff changeset
   798
	@/usr/bin/hdiutil create -ov -format UDZO -srcfolder "OpenTTD $(RELEASE)" openttd-"$(RELEASE)"-osx.dmg
565
54f509007e3b (svn r974) Makefile: fixed issue in make release and nightly_build, which caused failures if RELEASE contained spaces
bjarni
parents: 564
diff changeset
   799
	@rm -fr "OpenTTD $(RELEASE)"
563
f60fe5a7d56f (svn r972) Makefile: added make release (currently only works on mac)
bjarni
parents: 561
diff changeset
   800
564
39e0d73fa19d (svn r973) Makefile: added make nightly_build (only on mac)
bjarni
parents: 563
diff changeset
   801
nightly_build: all
574
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   802
	@mkdir -p "OpenTTD_nightly_$(DATE)"
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   803
	@mkdir -p "OpenTTD_nightly_$(DATE)"/docs
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   804
	@cp -R $(OSXAPP) "OpenTTD_nightly_$(DATE)"/
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   805
	@cp docs/OSX_where_did_the_package_go.txt "OpenTTD_nightly_$(DATE)"/Where\ did\ the\ package\ go.txt
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   806
	@cp readme.txt "OpenTTD_nightly_$(DATE)"/docs/
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   807
	@cp docs/README_if_game_crashed_on_OSX.txt "OpenTTD_nightly_$(DATE)"/docs/readme\ if\ crashed\ on\ OSX.txt
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   808
	@cp docs/console.txt "OpenTTD_nightly_$(DATE)"/docs/
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   809
	@cp COPYING "OpenTTD_nightly_$(DATE)"/docs/
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   810
	@cp revisionlog.txt "OpenTTD_nightly_$(DATE)"/revisionlog.txt
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   811
	@cp docs/README_if_game_crashed_on_OSX.txt "OpenTTD_nightly_$(DATE)"/docs/
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   812
	@cp os/macos/*.webloc "OpenTTD_nightly_$(DATE)"/
590
1033437d21ef (svn r1011) Makefile, mac: added absolute path to hdiutil (default location) to fix the path issues when building nightly builds with a cronjob
bjarni
parents: 589
diff changeset
   813
	@/usr/bin/hdiutil create -ov -format UDZO -srcfolder "OpenTTD_nightly_$(DATE)" openttd-nightly-"$(DATE)".dmg
574
acaa37f42d88 (svn r985) Makefile: repaired issue in make release (OSX)
bjarni
parents: 569
diff changeset
   814
	@rm -fr "OpenTTD_nightly_$(DATE)"
564
39e0d73fa19d (svn r973) Makefile: added make nightly_build (only on mac)
bjarni
parents: 563
diff changeset
   815
39e0d73fa19d (svn r973) Makefile: added make nightly_build (only on mac)
bjarni
parents: 563
diff changeset
   816
.PHONY: release nightly_build
563
f60fe5a7d56f (svn r972) Makefile: added make release (currently only works on mac)
bjarni
parents: 561
diff changeset
   817
endif
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   818
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   819
rev.c: FORCE
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   820
	@# setting the revision number in a place, there the binary can read it
615
3a22cf31bb29 (svn r1039) Makefile: now RELEASE flag can contain () too
bjarni
parents: 610
diff changeset
   821
	@echo 'const char _openttd_revision[] = "$(REV)";' >>rev.c.new
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   822
	@echo 'const int _revision_number = $(REV_NUMBER);' >>rev.c.new
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   823
	@# some additions for MorphOS versions tag
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   824
	@echo '#ifdef __MORPHOS__'  >>rev.c.new
615
3a22cf31bb29 (svn r1039) Makefile: now RELEASE flag can contain () too
bjarni
parents: 610
diff changeset
   825
	@echo 'const char morphos_versions_tag[] = "\\0$$VER: OpenTTD $(REV) ('${BUILDDATE}') © OpenTTD Team [MorphOS, PowerPC]";'  >>rev.c.new
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   826
	@echo '#endif' >>rev.c.new
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   827
	@# Only update the real rev.c if it actually changed, to prevent
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   828
	@# useless rebuilds.
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   829
	@cmp -s rev.c rev.c.new 2>/dev/null || mv rev.c.new rev.c
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   830
	@rm -f rev.c.new
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   831
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   832
FORCE:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   833
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   834
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   835
clean:
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   836
	@echo '===> Cleaning up'
1167
d8b7601118cf (svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (;
tron
parents: 1164
diff changeset
   837
	@rm -rf .deps *~ $(TTD) $(STRGEN) core table/strings.h $(LANGS) $(OBJS) endian.h $(ENDIAN_CHECK)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   838
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   839
mrproper: clean
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   840
	@rm -rf $(MAKE_CONFIG)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   841
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   842
ifndef OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   843
ifndef MORPHOS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   844
install:
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   845
ifeq ($(INSTALL),)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   846
	$(error make install is highly experimental at his state and not\
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   847
	tested very much - use at your own risk - to use run \"make install INSTALL:=1\" - make sure makefile.config\
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   848
	is set correctly up - run \"make upgradeconf\")
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   849
endif
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   850
543
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
   851
ifeq ($(PREFIX), )
e3b43338096b (svn r942) -Merged branch/network back into the trunk
truelight
parents: 532
diff changeset
   852
	$(error no prefix set - check makefile.config)
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   853
endif
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   854
#	We compare against the non prefixed version here, so we won't install
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   855
#	if only the prefix has been set
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   856
ifeq ($(DATA_DIR),)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   857
	$(error no data path set - check makefile.config)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   858
endif
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   859
ifeq ($(BINARY_DIR),)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   860
	$(error no binary path set - check makefile.config)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   861
endif
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   862
# We'll install in $DEST_DIR instead of root if it is set (we don't
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   863
# care about extra /'s
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   864
	mkdir -p $(DATA_DIR_INSTALL)/lang
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   865
	mkdir -p $(DATA_DIR_INSTALL)/data
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   866
	mkdir -p $(DATA_DIR_INSTALL)/gm
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   867
	mkdir -p $(BINARY_DIR_INSTALL)
1160
467d3ff0ad97 (svn r1661) Makefile: added scenario to make install
bjarni
parents: 1158
diff changeset
   868
	mkdir -p $(PERSONAL_DIR)/scenario
285
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   869
	cp $(TTD) $(BINARY_DIR_INSTALL)
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   870
	cp lang/*.lng $(DATA_DIR_INSTALL)/lang
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   871
	cp data/*.grf $(DATA_DIR_INSTALL)/data
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   872
	cp data/opntitle.dat $(DATA_DIR_INSTALL)/data
e306da1c4ad1 (svn r291) Minor fix to english.txt
bjarni
parents: 222
diff changeset
   873
	cp media/openttd.64.png $(DATA_DIR_INSTALL)
1160
467d3ff0ad97 (svn r1661) Makefile: added scenario to make install
bjarni
parents: 1158
diff changeset
   874
	cp scenario/* $(PERSONAL_DIR)/scenario/
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   875
else	#MorphOS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   876
install:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   877
	$(error make install is not supported on MorphOS)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   878
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   879
else	# OSX
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   880
install:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   881
	$(error make install is not supported on MacOSX)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   882
endif
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   883
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   884
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   885
love:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   886
	@echo "YES! I thought you would never ask. We will have a great time. You can keep me turned on all night"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   887
730
939c4654fdea (svn r1182) -Fix: Makefile had a small glitch, making it impossible to compile the game (Oskar_)
truelight
parents: 728
diff changeset
   888
.PHONY: clean all $(OSX) install $(64_bit_warnings) $(endwarnings) love
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   889
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   890
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   891
### Automatic configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   892
-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
   893
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   894
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   895
# Export all variables set to subprocesses (a bit dirty)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   896
.EXPORT_ALL_VARIABLES:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   897
upgradeconf: $(MAKE_CONFIG)
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   898
	@rm $(MAKE_CONFIG)
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   899
	@$(MAKE) $(MAKE_CONFIG)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   900
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   901
.PHONY: upgradeconf
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   902
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   903
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   904
### Internal build rules
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   905
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   906
# This makes sure the .deps dir is always around.
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   907
DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   908
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   909
# Introduce the dependencies
1167
d8b7601118cf (svn r1669) Rename all ttd_XXX to just XXX, because we already know who we are (;
tron
parents: 1164
diff changeset
   910
-include $(DEPS)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   911
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   912
# This compiles the object file as well as silently updating its dependencies
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   913
# list at the same time. It is not an issue that they aren't around during the
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   914
# first compilation round as we just build everything at that time anyway,
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   915
# therefore we do not need to watch deps.
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
   916
728
c8728c17f505 (svn r1180) Makefile: fixed dependancies so the flag -j can be used. It makes the compilation process into more than one job which makes it able to benefit from multiple CPUs. Using -j without setting a limit of jobs (like -j2) is not a great idea (thanks to ln-- for reporting the need for this one)
bjarni
parents: 679
diff changeset
   917
%.o: %.c $(MAKE_CONFIG) endian.h table/strings.h
1118
a3c31d3fe6e1 (svn r1619) Fight bit rot in the Makefile:
tron
parents: 1115
diff changeset
   918
	@echo '===> Compiling $<'
1170
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   919
	@$(CC) $(CFLAGS) $(CDEFS) -MD -c $< -o $@
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   920
	@mv $(<:%.c=%.d) $(<:%.c=.deps/%.d)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   921
728
c8728c17f505 (svn r1180) Makefile: fixed dependancies so the flag -j can be used. It makes the compilation process into more than one job which makes it able to benefit from multiple CPUs. Using -j without setting a limit of jobs (like -j2) is not a great idea (thanks to ln-- for reporting the need for this one)
bjarni
parents: 679
diff changeset
   922
%.o: %.cpp  $(MAKE_CONFIG) endian.h table/strings.h
1119
5d434559a604 (svn r1620) Fix typo in r1619
tron
parents: 1118
diff changeset
   923
	@echo '===> Compiling $<'
1170
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   924
	@$(CXX) $(CFLAGS) $(CDEFS) -MD -c $< -o $@
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   925
	@mv $(<:%.c=%.d) $(<:%.c=.deps/%.d)
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   926
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   927
# Silence stale header dependencies
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   928
%.h:
1cd3103acd66 (svn r1672) Simplify dependency tracking and actually implement it for C++ files, too.
tron
parents: 1169
diff changeset
   929
	@true
1163
044430212516 (svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents: 1162
diff changeset
   930
044430212516 (svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents: 1162
diff changeset
   931
044430212516 (svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents: 1162
diff changeset
   932
info:
044430212516 (svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents: 1162
diff changeset
   933
	@echo 'CFLAGS  = $(CFLAGS)'
044430212516 (svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents: 1162
diff changeset
   934
	@echo 'LDFLAGS = $(LDFLAGS)'
044430212516 (svn r1665) Remove VERBOSE flag, because it was only partially implemented
tron
parents: 1162
diff changeset
   935
	@echo 'LIBS    = $(LIBS)'