Makefile
changeset 543 946badd71033
parent 532 d894d437be85
child 549 e48b65755929
equal deleted inserted replaced
542:de27e74b11bd 543:946badd71033
    67 #  It looks nicer, but you will not know what went wrong. Use it on released (stable) sources only
    67 #  It looks nicer, but you will not know what went wrong. Use it on released (stable) sources only
    68 # VERBOSE: actually show the commands used for compilation.
    68 # VERBOSE: actually show the commands used for compilation.
    69 #
    69 #
    70 # Paths:
    70 # Paths:
    71 # INSTALL: If not set, the game uses the directory of the binary to
    71 # INSTALL: If not set, the game uses the directory of the binary to
    72 # store everything (lang, data, gm, save and openttd.cfg), this is the `old' behaviour. 
    72 # store everything (lang, data, gm, save and openttd.cfg), this is the `old' behaviour.
    73 # In this case, none of the following paths are used, you also should _not_
    73 # In this case, none of the following paths are used, you also should _not_
    74 # use `make install', but copy the required stuff yourself (or just play out
    74 # use `make install', but copy the required stuff yourself (or just play out
    75 # of you source directory, which should work fine).
    75 # of you source directory, which should work fine).
    76 # If you want to use `make install' to install the game globally, you should
    76 # If you want to use `make install' to install the game globally, you should
    77 # define it _before_ you build the game. If you only define INSTALL when you
    77 # define it _before_ you build the game. If you only define INSTALL when you
    81 # So, the following paths should be defined if INSTALL is defined.
    81 # So, the following paths should be defined if INSTALL is defined.
    82 # None of these paths have to end with /
    82 # None of these paths have to end with /
    83 # PREFIX:	Normally /usr/local
    83 # PREFIX:	Normally /usr/local
    84 # BINARY_DIR:	The location of the binary, normally games. (Will be prefixed
    84 # BINARY_DIR:	The location of the binary, normally games. (Will be prefixed
    85 #		with $PREFIX)
    85 #		with $PREFIX)
    86 # DATA_DIR: 	The location of the data (lang, data and gm), normally 
    86 # DATA_DIR: 	The location of the data (lang, data and gm), normally
    87 #		share/games/openttd. (Will be prefixed with $PREFIX)
    87 #		share/games/openttd. (Will be prefixed with $PREFIX)
    88 # PERSONAL_DIR:	The directory where openttd.cfg and the save folder will be
    88 # PERSONAL_DIR:	The directory where openttd.cfg and the save folder will be
    89 #		stored. You cannot use ~ here, define USE_HOMEDIR for that.
    89 #		stored. You cannot use ~ here, define USE_HOMEDIR for that.
    90 # USE_HOMEDIR:	If this variable is set, PERSONAL_DIR will be prefixed with
    90 # USE_HOMEDIR:	If this variable is set, PERSONAL_DIR will be prefixed with
    91 #		~/ at runtime (the user's homedir)
    91 #		~/ at runtime (the user's homedir)
   155 endif
   155 endif
   156 
   156 
   157 # this is used if there aren't any makefile.config
   157 # this is used if there aren't any makefile.config
   158 ifndef CONFIG_INCLUDED
   158 ifndef CONFIG_INCLUDED
   159 # sets network on by default if there aren't any config file
   159 # sets network on by default if there aren't any config file
   160 ENABLE_NETWORK:=1   
   160 ENABLE_NETWORK:=1
   161 
   161 
   162 # paths for make install
   162 # paths for make install
   163 # disabled as they would break it for some (many?) people if they were default
   163 # disabled as they would break it for some (many?) people if they were default
   164 #PREFIX:=/usr/local
   164 #PREFIX:=/usr/local
   165 #DATA_DIR:=share/games/openttd
   165 #DATA_DIR:=share/games/openttd
   285 CDEFS += -D_DEBUG
   285 CDEFS += -D_DEBUG
   286 BASECFLAGS += -g
   286 BASECFLAGS += -g
   287 else
   287 else
   288 ifdef PROFILE
   288 ifdef PROFILE
   289 BASECFLAGS += -pg
   289 BASECFLAGS += -pg
       
   290 LDFLAGS += -pg
   290 else
   291 else
   291 # Release mode
   292 # Release mode
   292 ifndef MORPHOS
   293 ifndef MORPHOS
   293 # automatical strip breaks under morphos
   294 # automatical strip breaks under morphos
   294 BASECFLAGS += -s
   295 BASECFLAGS += -s
   455 ifdef MIDI_ARG
   456 ifdef MIDI_ARG
   456 CDEFS += -DMIDI_ARG=\"$(MIDI_ARG)\"
   457 CDEFS += -DMIDI_ARG=\"$(MIDI_ARG)\"
   457 endif
   458 endif
   458 endif
   459 endif
   459 
   460 
   460 # Experimental
       
   461 ifdef WITH_NETWORK
   461 ifdef WITH_NETWORK
   462 CDEFS += -DENABLE_NETWORK
   462 CDEFS += -DENABLE_NETWORK
       
   463 ifdef QNX
       
   464 LIBS += -lsocket
       
   465 endif
   463 ifdef UNIX
   466 ifdef UNIX
   464 ifndef OSX
   467 ifndef OSX
   465 ifndef MORPHOS
   468 ifndef MORPHOS
   466 # this have caused problems on many platforms and disabling it didn't break anything
   469 # this have caused problems on many platforms and disabling it didn't break anything
   467 # now we test if disabling it as a general breaks it for anybody
   470 # now we test if disabling it as a general breaks it for anybody
   514 ### Sources
   517 ### Sources
   515 
   518 
   516 C_SOURCES = \
   519 C_SOURCES = \
   517 	ai.c ai_build.c ai_new.c ai_pathfinder.c ai_shared.c aircraft_cmd.c \
   520 	ai.c ai_build.c ai_new.c ai_pathfinder.c ai_shared.c aircraft_cmd.c \
   518 	aircraft_gui.c airport.c airport_gui.c aystar.c bridge_gui.c \
   521 	aircraft_gui.c airport.c airport_gui.c aystar.c bridge_gui.c \
   519 	clear_cmd.c command.c console.c console_cmds.c disaster_cmd.c dock_gui.c dummy_land.c economy.c \
   522 	callback_table.c clear_cmd.c command.c console.c console_cmds.c \
       
   523 	dedicated.c disaster_cmd.c dock_gui.c dummy_land.c economy.c \
   520 	engine.c engine_gui.c fileio.c gfx.c graph_gui.c newgrf.c \
   524 	engine.c engine_gui.c fileio.c gfx.c graph_gui.c newgrf.c \
   521 	industry_cmd.c industry_gui.c intro_gui.c landscape.c main_gui.c \
   525 	industry_cmd.c industry_gui.c intro_gui.c landscape.c main_gui.c \
   522 	minilzo.c misc.c misc_cmd.c misc_gui.c music_gui.c namegen.c network.c \
   526 	minilzo.c misc.c misc_cmd.c misc_gui.c music_gui.c namegen.c network.c \
   523 	network_gui.c news_gui.c oldloader.c order_cmd.c order_gui.c \
   527 	network_client.c network_data.c network_gamelist.c network_gui.c \
   524 	pathfind.c player_gui.c players.c queue.c rail_cmd.c rail_gui.c rev.c \
   528 	network_server.c network_udp.c news_gui.c oldloader.c order_cmd.c \
   525 	road_cmd.c road_gui.c roadveh_cmd.c roadveh_gui.c saveload.c \
   529 	order_gui.c pathfind.c player_gui.c players.c queue.c rail_cmd.c \
   526 	screenshot.c settings.c settings_gui.c ship_cmd.c ship_gui.c \
   530 	rail_gui.c rev.c road_cmd.c road_gui.c roadveh_cmd.c roadveh_gui.c \
   527 	smallmap_gui.c sound.c sprite.c spritecache.c station_cmd.c station_gui.c \
   531 	saveload.c screenshot.c settings.c settings_gui.c ship_cmd.c \
   528 	strings.c subsidy_gui.c terraform_gui.c texteff.c town_cmd.c \
   532 	ship_gui.c smallmap_gui.c sound.c sprite.c spritecache.c station_cmd.c \
   529 	town_gui.c train_cmd.c train_gui.c tree_cmd.c ttd.c tunnelbridge_cmd.c \
   533 	station_gui.c strings.c subsidy_gui.c terraform_gui.c texteff.c \
   530 	unmovable_cmd.c vehicle.c vehicle_gui.c viewport.c water_cmd.c widget.c window.c
   534 	town_cmd.c town_gui.c train_cmd.c train_gui.c tree_cmd.c ttd.c \
       
   535 	tunnelbridge_cmd.c unmovable_cmd.c vehicle.c vehicle_gui.c viewport.c \
       
   536 	water_cmd.c widget.c window.c
   531 CXX_SOURCES =
   537 CXX_SOURCES =
   532 
   538 
   533 ifdef WITH_SDL
   539 ifdef WITH_SDL
   534 C_SOURCES += sdl.c
   540 C_SOURCES += sdl.c
   535 endif
   541 endif
   668 	$(error make install is highly experimental at his state and not\
   674 	$(error make install is highly experimental at his state and not\
   669 	tested very much - use at your own risk - to use run \"make install INSTALL:=1\" - make sure makefile.config\
   675 	tested very much - use at your own risk - to use run \"make install INSTALL:=1\" - make sure makefile.config\
   670 	is set correctly up - run \"make upgradeconf\")
   676 	is set correctly up - run \"make upgradeconf\")
   671 endif
   677 endif
   672 
   678 
   673 ifeq ($(PREFIX), ) 
   679 ifeq ($(PREFIX), )
   674 	$(error no prefix set - check makefile.config) 
   680 	$(error no prefix set - check makefile.config)
   675 endif
   681 endif
   676 #	We compare against the non prefixed version here, so we won't install
   682 #	We compare against the non prefixed version here, so we won't install
   677 #	if only the prefix has been set
   683 #	if only the prefix has been set
   678 ifeq ($(DATA_DIR),)
   684 ifeq ($(DATA_DIR),)
   679 	$(error no data path set - check makefile.config)
   685 	$(error no data path set - check makefile.config)